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