Pandas 为什么可以';我是否删除默认的标签?

Pandas 为什么可以';我是否删除默认的标签?,pandas,matplotlib,Pandas,Matplotlib,Pandas为逻辑图创建默认的YtickLabel。我想用我自己的标签替换这些标签,但由于某些原因,我似乎无法删除默认标签 如果我在plot方法中指定yticks,它只会覆盖现有的默认标签: x = [1, 1.5, 2, 2.5, 3] df = pd.DataFrame({'x': x}) ax = df.plot(logy=True, yticks=[2]) 带覆盖标签的线图: 试图通过直接引用轴来删除YtickLabel也无济于事: ax = df.plot(logy=True) a

Pandas为逻辑图创建默认的YtickLabel。我想用我自己的标签替换这些标签,但由于某些原因,我似乎无法删除默认标签

如果我在
plot
方法中指定yticks,它只会覆盖现有的默认标签:

x = [1, 1.5, 2, 2.5, 3]
df = pd.DataFrame({'x': x})
ax = df.plot(logy=True, yticks=[2])
带覆盖标签的线图:

试图通过直接引用
轴来删除YtickLabel也无济于事:

ax = df.plot(logy=True)
ax.set_yticklabels([])
默认标签仍然存在的线打印

Matplotlib绘图可能有主刻度和次刻度以及刻度标签。如果对数图的范围不到十年,则默认情况下会设置小刻度标签。您可以通过
ax.set\yticklabels([],minor=True)
将它们设置为空列表,也可以通过
ax.minorticks\u off()
将它们完全关闭
然后,您可以将自定义标记/标签设置为任何您喜欢的设置

import pandas as pd
import matplotlib.pyplot as plt

x = [1, 1.5, 2, 2.5, 3]
df = pd.DataFrame({'x': x})
ax = df.plot(logy=True)
# turn minor ticklabels off
ax.set_yticklabels([],minor=True)
# or use 
# ax.minorticks_off()
# set new custom ticks/-labels
ax.set_yticks([1,2,2.5])
ax.set_yticklabels(list("ABC"))

plt.show()


当然,还有更复杂的方法来处理记号和标签,例如,有关类似问题,请参见

对于我来说,要删除默认标签,我将主标签设置为空,但不设置次标签

ax.set_xticklabels("",major=True)