如何在 matplotlib 中将负值包含在 y 轴中?

3

我正在制作散点图,我的一个数据列有很多负值,这是我的y轴。
但是当我绘制它时,它从0开始。我怎样才能让它从实际的最低值开始?
My Chart

3个回答

3

使用plt.ylim(),再加上内置的min()max()函数:

import matplotlib.pyplot as plt

x = [38, -21, 37, 54, 10, 10, -40, -37, -24, 53, -10, 45, -32, -37, 12, -29, 18, 5, -45, 19, 48, 48, 27, -10, -17, -15, -25, -44, 41, -8]
y = [31, -43, -3, 18, -48, 4, -54, -34, -42, 13, 31, -4, 17, 3, 16, -30, -23, -27, -9, 13, -40, 13, 0, -41, 5, -26, 16, -9, 40, 16]

plt.ylim(min(y), max(y))
plt.scatter(x, y)
plt.show()

输出:

输入图像描述


@Zelix75 是的 :) 只需在 plt.ylim(min(y), max(y)) 上方添加 plt.xlim(min(x), max(x)) 即可。 - Ann Zen
工作了,但是我不得不将ylim的min arg设置为-10,否则没有明显的差异。 - Zelix75
@Zelix75 哦,好的!有些人喜欢在边界周围留出一些填充空间,所以 plt.ylim(min(y), max(y)) 可以改为 plt.ylim(min(y) - 10, max(y) + 10) - Ann Zen
@Zelix75 你可以。 - Ann Zen
它说'float'对象无法被解释为整数。 - Zelix75
显示剩余4条评论

3

设定你的限制。
例如:plt.ylim(-5, 5)


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接