【问题标题】:Redundancy bad log ticks in matplotlibmatplotlib 中的冗余坏日志记号
【发布时间】:2018-01-31 01:15:26
【问题描述】:

我在 matplotlib 中绘制了一个图形,它看起来像 this,其中 x 轴刻度正确显示:

这是我的代码:

import matplotlib
import matplotlib.pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([1, 2, 3], [1,2,3])
ax1.set_xscale('log')
plt.xlim(1,100)
ax1.set_xticks([1,2,3,4,5,6,7,8,9,10])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()

然后我调整了x轴的界限, plt.xlim(1,10) 这是新代码:

import matplotlib
import matplotlib.pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([1, 2, 3], [1,2,3])
ax1.set_xscale('log')
plt.xlim(1,10)
ax1.set_xticks([1,2,3,4,5,6,7,8,9,10])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()

现在有一些我不需要的错误数字:

如何将第一张图作为 x 轴的小限制?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    当我更新到 matplotlib 2+ 时,我遇到了同样的问题。我在this thread 中找到了解决方案。问题似乎是次要刻度,您可以使用以下命令将其删除:

    plt.gca().xaxis.set_minor_formatter(matplotlib.ticker.NullFormatter())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      相关资源
      最近更新 更多