matplotlib修改坐标轴刻度值,刻度个数
1.刻度定位器与格式(Tick Locator)
2.获取坐标轴刻度对象
Matplotlib 中的 ticker 模块⽤于⽀持坐标轴刻度的修改,调⽤下列命令可以初步查看主副坐标轴刻度的数值定位⽅式(locator)与具体格式(formatter)等。
详细命令参考:
_major_ticks()
_minor_ticks()
_major_locator()
_minor_locator()
_major_formatter()
_minor_formatter()
3.设置主副刻度对象属性
(1)设置主副刻度格式
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
t = np.arange(0.0,100.0,1)
s = np.sin(0.1*np.pi*t)*np.exp(-t*0.01)
ax = plt.subplot(111)#注意:⼀般都在ax中设置,不再plot中设置
plt.plot(t,s,'--r*')
#修改主刻度
matplotlib中subplotxmajorLocator = MultipleLocator(20)#将x主刻度标签设置为20的倍数
xmajorFormatter = FormatStrFormatter('%5.1f')#设置x轴标签⽂本的格式
ymajorLocator = MultipleLocator(0.5)#将y轴主刻度标签设置为0.5的倍数
ymajorFormatter = FormatStrFormatter('%1.1f')#设置y轴标签⽂本的格式
#设置主刻度标签的位置,标签⽂本的格式
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)
ax.yaxis.set_major_locator(ymajorLocator)
ax.yaxis.set_major_formatter(ymajorFormatter)
#修改次刻度
xminorLocator = MultipleLocator(5)#将x轴次刻度标签设置为5的倍数
yminorLocator = MultipleLocator(0.1)#将此y轴次刻度标签设置为0.1的倍数
#设置次刻度标签的位置,没有标签⽂本格式
ax.xaxis.set_minor_locator(xminorLocator)
ax.yaxis.set_minor_locator(yminorLocator)
#打开⽹格
id(True, which='major')#x坐标轴的⽹格使⽤主刻度
id(True, which='minor')#y坐标轴的⽹格使⽤次刻度
plt.show()
(2)删除坐标轴的刻度显⽰
ax.yaxis.set_major_locator(plt.NullLocator())
ax.xaxis.set_major_formatter(plt.NullFormatter())