Matplotlib xticks与默认的重叠

时间:2019-07-04 16:39:46

标签: python matplotlib plot

我正在尝试在x轴上绘制有限数量的刻度。我遵循了这个method。而且,它几乎可以正常工作,但是我的数字比例在0.1到1之间,并且我仍然想做类似的操作:仅以标量格式显示[0.2, 0.3, 0.6]。该图限于对数-对数图。我知道了:

overlapping

很显然,我们在[0.2, 0.3, 0.6]中看到了重叠,而在0.4中没有看到重叠。如何删除原始的xticks? 我的程序附在这里:

import matplotlib
from matplotlib import pyplot as plt
fig = plt.gcf()
fig.set_size_inches(12, 8)
ax1 = plt.gca()
ax1.plot([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7], [1,2,3, 4, 5, 6, 7])
ax1.set_xscale('log')
ax1.set_yscale('log')

ax1.set_xticks([0.2, 0.3, 0.6])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()

1 个答案:

答案 0 :(得分:0)

显然,0.4是较小的滴答声:

fig, ax1 = plt.subplots(figsize=(12,8))
ax1.plot([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7], [1,2,3, 4, 5, 6, 7])
ax1.set_xscale('log')
ax1.set_yscale('log')

ax1.set_xticks([0.2, 0.3, 0.6], minor=False)
ax1.set_xticklabels([],minor=True) # turn minor label off
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()

输出:

enter image description here