Matplotlib 中的 ticker 模塊用於支持坐標軸刻度的修改,調用下列命令可以初步查看主副坐標軸刻度的數值定位方式(locator)與具體格式(formatter)等。
詳情:http://matplotlib.org/api/axis_api.html
ax.xaxis.get_major_ticks() ax.xaxis.get_minor_ticks() ax.xaxis.get_major_locator() ax.xaxis.get_minor_locator() ax.xaxis.get_major_formatter() ax.xaxis.get_minor_formatter()
設置主副刻度對象屬性
# encoding:utf-8
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import numpy as np
def test():
ax = plt.subplot(111) # 注意:一般都在ax中設置,不再plot中設置
t = np.arange(0.0, 100.0, 1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)
plt.plot(t, s, '--r*')
# 修改主刻度
xmajorLocator = 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)
# 打開網格
ax.xaxis.grid(True, which='major') # x坐標軸的網格使用主刻度
ax.yaxis.grid(True, which='minor') # y坐標軸的網格使用次刻度
# 刪除坐標軸的刻度顯示
# ax.yaxis.set_major_locator(plt.NullLocator())
# ax.xaxis.set_major_formatter(plt.NullFormatter())
plt.savefig("D:\腳本項目\工具\服務器監控\est.png")
plt.show()
test()