Matplotlib绘图:如何将结果显示在坐标轴框外部?
让Matplotlib线条显示在坐标轴框外部的解决方法
嘿,我来帮你搞定这个问题!你当前的代码里,因为Matplotlib默认会裁剪超出坐标轴范围的绘图元素,再加上你设置了固定的xlim和ylim,所以线条只显示在坐标轴框内部。要让线条延伸到框外,只需要调整两个小地方就行:
修改后的完整代码
import matplotlib.pyplot as plt import numpy as np x = np.arange(6) fig = plt.figure() ax = plt.subplot(111) # 把坐标轴范围设置放在循环外,避免重复执行,更高效 ax.set_xlim(0, 3) ax.set_ylim(0, 10) # 关键设置:关闭坐标轴的裁剪功能,让线条能显示在框外 ax.set_clip_on(False) for i in range(5): # Python3里已经没有xrange了,换成range即可兼容 ax.plot(x, i * x) plt.show()
关键说明
ax.set_clip_on(False):这个属性控制坐标轴是否对绘图元素进行裁剪,设为False后,超出坐标轴范围的线条部分就不会被切掉,能完整显示出来。- 把
xlim和ylim的设置移到循环外:原来的循环里每次都重复设置坐标轴范围完全没必要,放到循环外只执行一次更高效。 - 替换
xrange为range:Python3已经移除了xrange,使用range可以同时兼容Python2和Python3环境。
这样修改后,你就能看到线条延伸到坐标轴框外部的效果啦!
内容的提问来源于stack exchange,提问作者GoodLuckSKY
相关产品推荐
相关产品推荐

