在Pandas绘图中仅隐藏坐标轴标签,而不是整个坐标轴

43

我可以使用以下代码清除Pandas图中xlabel的文本:

plt.xlabel("")

是否有可能隐藏标签?

可能是像.xaxis.label.set_visible(False)这样的东西。

2个回答

86

从Pandas文档中得知 -

Series和DataFrame上的plot方法只是plt.plot()的简单包装器:

这意味着您可以使用Pandas DataFrame plot做任何您想做的Matplotlib操作。

pyplot有一个axis()方法,让您设置轴属性。在调用plt.show()之前调用plt.axis('off')将关闭两个轴。

df.plot()
plt.axis('off')
plt.show()
plt.close()

要控制单个坐标轴,您需要通过绘图的 Axes 设置其属性。对于x轴 -(pyplot.axes().get_xaxis().....)

df.plot()
ax1 = plt.axes()
x_axis = ax1.axes.get_xaxis()
x_axis.set_visible(False)
plt.show()
plt.close()

同样地,要控制坐标轴的标签,获取该标签并将其关闭。

df.plot()
ax1 = plt.axes()
x_axis = ax1.axes.get_xaxis()
x_axis.set_label_text('foo')
x_label = x_axis.get_label()
##print isinstance(x_label, matplotlib.artist.Artist)
x_label.set_visible(False)
plt.show()
plt.close()

你也可以像这样找到x轴

ax1 = plt.axes()
x_axis = ax1.xaxis
x_axis.set_label_text('foo')
x_axis.label.set_visible(False)
ax1 = plt.axes()
ax1.xaxis.set_label_text('foo')
ax1.xaxis.label.set_visible(False)

DataFrame.plot

返回一个 matplotlib.axes.Axes 或者它们的 numpy.ndarray

因此,当您调用它时,您可以获取它们。

axs = df.plot()

.set_visible() 是一个 Artist 方法。轴和其标签也是 Artists,因此它们具有 Artist 方法/属性以及它们自己的方法/属性。有许多方法可用于自定义绘图。有时您可以在 GalleryExamples 中找到所需的功能。


7
你可以在plot()的调用中使用xlabel=ylabel=参数来移除坐标轴标签和刻度。例如,要移除xlabel,请使用xlabel=''
df.plot(xlabel='');

res1

要删除x轴刻度,请使用xticks=[](对于y轴刻度,请使用yticks=):
df.plot(xticks=[]);

res2

要同时移除:

df.plot(xticks=[], xlabel='');

res3


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接