use*_*483 15 python matplotlib
这是绘制大值的示例.
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [1000, 1002, 1001, 1003, 1005]
plt.bar(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
y轴从0开始,因此条都看起来相等.我知道你可以使用plt.ylim来手动设置限制,但matplotlib是否有办法自动(并巧妙地)将限制设置为合理的值(如998-1008),也可能显示轴中断?
cos*_*sis 21
一点点简单的代数将有助于修复限制:
import matplotlib.pyplot as plt
import math
x = [1,2,3,4,5]
y = [1000, 1002, 1001, 1003, 1005]
low = min(y)
high = max(y)
plt.ylim([math.ceil(low-0.5*(high-low)), math.ceil(high+0.5*(high-low))])
plt.bar(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以找到y值之间的差异,并使用它们来设置沿y轴的比例.我使用math.ceil(而不是math.floor)来获取您指定的值并确保整数.
就轴断裂而言,我建议看一下这个例子.
归档时间: |
|
查看次数: |
22476 次 |
最近记录: |