我有一个不同的x和y限制的情节:
fig, ax = subplots(ncols=1)
ax.set_xlim([0, 10])
ax.set_ylim([5, 10])
我想在此图中添加x=y
行,但要将该行保持在轴限制范围内。
我的第一个天真的尝试只是
ax.plot(ax.get_xlim(), ax.get_xlim())
改进的尝试有效,但代码方面非常难看:
ax.plot([max(ax.get_xlim()[0], ax.get_ylim()[0]),
min(ax.get_xlim()[1], ax.get_ylim()[1])],
[max(ax.get_xlim()[0], ax.get_ylim()[0]),
min(ax.get_xlim()[1], ax.get_ylim()[1])])
有更好的方法吗?
我在Matplotlib版本1.2.1
上的Spyder 2.2.5
中使用了IPython版本1.3.1
,并且mpl.get_backend()
返回:
'module://IPython.kernel.zmq.pylab.backend_inline'
答案 0 :(得分:9)
x = np.linspace(*ax.get_xlim())
ax.plot(x, x)
答案 1 :(得分:1)
如果0 <= X <= 1
和0 <= Y <= 1
对我有用:
import matplotlib.pyplot as plt
plt.scatter(X, Y)
plt.plot([0, 1], [0, 1], color = 'black', linewidth = 2)
plt.xlim(-0.05, 1.05)
plt.ylim(-0.05, 1.05)
您当然可以调整限制。