Matplotlib: 曲线与轴边界相交。如何解决?

3

alt text

我使用以下代码使用matplotlib绘制了这个图表。

import matplotlib
import matplotlib.pyplot as plt

x = [450.0, 450.0, 438.0, 450.0, 420.0, 432.0, 416.0, 406.0, 432.0, 400.0]
y = [328.90000000000003, 327.60000000000031, 305.90000000000146, 285.2000000000013, 276.0, 264.0, 244.0, 236.0, 233.5, 236.0]
z = [2,4,6,8,10,12,14,16,18,20]

plt.plot(z,x,'-',lw=3)
plt.plot(z,y,'--',lw=3)
plt.show()

您可以看到,x轴的图形触及了轴边界,看起来不太好。我该如何改变它呢?

2个回答

1

使用 axis

plt.plot(z,x,'-',lw=3)
plt.plot(z,y,'--',lw=3)
plt.axis([2,20,100,500])
plt.show()

或者,使用ylim

plt.ylim([100,500])

0

我尝试了你的代码,但是图形没有重叠。无论如何,请尝试在绘图中添加小边距:

plt.margins(0,0.02)

另外,您可以尝试在plot函数调用中添加参数clip_on=True(但默认情况下应设置为True)。


当我添加这行代码时,我会得到以下错误。回溯(最近的调用最先): 文件“d:\code\sample.py”,第<module>行, plt.margins(0,0.02) 属性错误:'module'对象没有'margins'属性 - Bruce

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