首页 > 解决方案 > 关闭 xaxis 上的次要刻度

问题描述

我正在尝试简化我的图表的外观。在这个程度上,我想只在确定的点上设置刻度。操作中的“原生”图df.groupby.max().plot()如下所示:

初始情节

我不喜欢我的数据从 0.3 开始并以 0.6 结束的事实,但是该图表在某种程度上增加了那里的房地产。要将情节限制在我想要的数字上,我会:

ax1.set_xlim(0.3,0.6)

然而,这增加了一系列我不想拥有的中间点:

限制调整图

现在,由于某种原因,出现了中间点。请注意,它们不属于测量数据。然后我尝试了找到的食谱 - 在其他地方 -这里

ax1.set_xticks = np.arange(0.3,0.6,0.1)

--> 没有变化

ax1.xaxis.set_tick_params(which='minor',bottom=False)

--> 没有变化

ax1.minorticks_off()

--> 没有变化

我已经用完了选项,我不确定我在这里做错了什么,任何帮助表示赞赏。

标签: pythonmatplotlib

解决方案


好的,

感谢@DavidG 的提示,我发现了这个问题。这可能并不微妙,但值得一提。如果这太琐碎了,我可以删除整个事情。

问题是由对函数的错误调用造成的ax.set_xticks()

 ax1.set_xticks = np.arange(0.3,0.6,0.1)

虽然我引用了我采用这种方法的地方,但实际上我设法错误地实施了它。正确的方法是:

ax1.set_xticks(np.arange(0.3,0.6,0.1))

所以,实际上,我没有看到情节有任何变化,因为我没有正确调用该函数。但还有更多。我的代码实际上是(name?)分配ax1.set_xticks给 an np.array,因此当尝试实现正确的语法时,我不断收到错误消息:

ax1.set_xticks([0.3,0.4,0.5,0.6])
Traceback (most recent call last):

  File "<ipython-input-93-df3b8935eb28>", line 1, in <module>
    ax1.set_xticks([0.3,0.4,0.5,0.6])

TypeError: 'numpy.ndarray' object is not callable

即使有一个简单的列表,我也得到了错误。这是因为我ax1.set_xticks确实将名称分配给了一个np.array对象。

一旦重置变量空间并正确调用函数,一切都运行顺利。


推荐阅读