基本上我处于一种情况,我想根据绘制的第一张图来锁定图表的起点。
e.g。如果我做这样的事情。
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)将被删除。
有办法做到这一点吗?我可以自己跟踪它,但只是好奇是否内置了一些东西来处理它。
感谢。
答案 0 :(得分:5)
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>
并查看所有选项。在这种情况下,自动填充功能可能是一件很棒的事情。
答案 1 :(得分:3)
简而言之:plt.xlim()。
长期:
import matplotlib.pyplot as plt
x1, y1 = ([7,8,9,10], [1,4,9,16])
plt.plot(x1, y1, 'yo')
plt.xlim(min(x1), max(x1))
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()
答案 2 :(得分:3)