基本上,我想根据绘制的第一个图表锁定图表的起点。
例如如果我做这样的事情。
import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()
我想要一种方法来限制 x 轴从 7 开始,这样第二个图中的 (1,1) 将被删除。
有没有办法做到这一点?我可以自己跟踪它,但只是好奇是否有内置的东西来处理这个问题。
谢谢。
最佳答案
Matplotlib 为您提供两种方式:
import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.xlim(xmin=7)
plt.show()
或者更面向对象的方式
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([7,8,9,10], [1,4,9,16], 'yo')
ax.plot([1,9,11,12], [1,4,9,16], 'ro')
ax.set_xlim(xmin=7)
plt.show()
如果您不使用 IPython,我强烈推荐它,因为您可以创建坐标区对象,然后键入 ax.<Tab>
并查看所有选项。在这种情况下,自动完成可能是一件很棒的事情。
关于python - Matplotlib:在指定的 x 轴范围内绘制两个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14392149/