我试图在两个轴上绘制一个没有记号或数字的图形(我使用的是传统意义上的轴,而不是matplotlib命名法!)。我遇到的一个问题是matplotlib通过减去一个值N来调整x(y)标签,然后在轴的末端加上N。
这可能很模糊,但下面的简化示例强调了这个问题,其中“6.18”是N的违规值:
import matplotlib.pyplot as plt
import random
prefix = 6.18
rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')
frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
xlabel_i.set_visible(False)
xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
xlabel_i.set_fontsize(0.0)
xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
tick.set_visible(False)
plt.show()
我想知道的三件事是:
如何首先关闭此行为(尽管在大多数情况下它是有用的,但并不总是如此!)我查遍了matplotlib.axis.XAxis
,找不到任何合适的
如何使N消失(即X.set_visible(False)
)
有没有更好的方法来做以上的事情呢?如果相关的话,我的最终图是一个图形中的4x4个子块。
如果你和我一样,不总是检索轴,
ax
,在绘制图形时,一个简单的解决方案是您可以隐藏整个轴,而不是隐藏每个元素:
或者,可以将记号设置为空列表:
在第二个选项中,您仍然可以使用
plt.xlabel()
和plt.ylabel()
向轴添加标签。如果只想隐藏保留网格线的轴文本:
执行
set_visible(False)
或set_ticks([])
也会隐藏网格线。相关问题 更多 >
编程相关推荐