在python的matplotlib中,我如何使对数x轴刻度如附图所示(即,从1到4.5,每隔0.5个标签的主要刻度;每隔0.1个没有标签的次要刻度):
我试过一些方法,
ax1.set_xticks([1.5,2,2.5,3,3.5,4,4.5])
ax1.xaxis.set_major_formatter(FormatStrFormatter('%.1f'))
ax1.xaxis.set_minor_locator(LogLocator(base=1,subs=(0.1,)))
但它没有给予我正确的解决方案。
2条答案
按热度按时间fsi0uk1n1#
您可以使用
MultipleLocator
设置刻度的位置。您可以使用ax.xaxis.set_major_locator
和ax.xaxis.set_minor_locator
为主刻度和次刻度设置不同的倍数。至于刻度标签的格式:您可以使用
ax.xaxis.set_major_formatter
和ScalarFormatter
设置主刻度格式,并使用ax.xaxis.set_minor_formatter
和NullFormatter
关闭次刻度标签。举例来说:
cmssoen22#