python刻度
⑴ 用python設置matplotlib.plot的坐標軸刻度間隔以及刻度范圍
轉自 跳轉鏈接
一、用默認設置繪制折線圖
import matplotlib.pyplot as plt
x_values=list(range(11))
#x軸的數字是0到10這11個整數
y_values=[x**2 for x in x_values]
#y軸的數字是x軸數字的平方
plt.plot(x_values,y_values,c='green')
#用plot函數繪制折線圖,線條顏色設置為綠色
plt.title('Squares',fontsize=24)
#設置圖表標題和標題字型大小
plt.tick_params(axis='both',which='major',labelsize=14)
#設置刻度的字型大小
plt.xlabel('Numbers',fontsize=14)
#設置x軸標簽及其字型大小
plt.ylabel('Squares',fontsize=14)
#設置y軸標簽及其字型大小
plt.show()
#顯示圖表
製作出圖表
我們希望x軸的刻度是0,1,2,3,4……,y軸的刻度是0,10,20,30……,並且希望兩個坐標軸的范圍都能再大一點,所以我們需要手動設置。
二、手動設置坐標軸刻度間隔以及刻度范圍
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
#從pyplot導入MultipleLocator類,這個類用於設置刻度間隔
x_values=list(range(11))
y_values=[x**2 for x in x_values]
plt.plot(x_values,y_values,c='green')
plt.title('Squares',fontsize=24)
plt.tick_params(axis='both',which='major',labelsize=14)
plt.xlabel('Numbers',fontsize=14)
plt.ylabel('Squares',fontsize=14)
x_major_locator=MultipleLocator(1)
#把x軸的刻度間隔設置為1,並存在變數里
y_major_locator=MultipleLocator(10)
#把y軸的刻度間隔設置為10,並存在變數里
ax=plt.gca()
#ax為兩條坐標軸的實例
ax.xaxis.set_major_locator(x_major_locator)
#把x軸的主刻度設置為1的倍數
ax.yaxis.set_major_locator(y_major_locator)
#把y軸的主刻度設置為10的倍數
plt.xlim(-0.5,11)
#把x軸的刻度范圍設置為-0.5到11,因為0.5不滿一個刻度間隔,所以數字不會顯示出來,但是能看到一點空白
plt.ylim(-5,110)
#把y軸的刻度范圍設置為-5到110,同理,-5不會標出來,但是能看到一點空白
plt.show()
繪制結果
⑵ python中怎麼讓圖所有坐標軸都有刻度
plt.tick_params(top='on', right='on', which='both') # 顯示上側和右側的刻度
plt.rcParams['xtick.direction'] = 'in' #將x軸的刻度線方向設置向內
plt.rcParams['ytick.direction'] = 'in' #將y軸的刻度方向設置向內
(PS:如果第一次運行上面的兩個命令坐標軸沒有朝內的話,關閉圖像,再運行一次就可以達到效果了。)
⑶ python matplotlib 繪制帶有刻度的箭頭
#繪制箭頭例子
def arrow():
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use('seaborn-deep')
fig = plt.figure(figsize=(16, 9),dpi=75)
ax = fig.add_subplot(121)
x=np.array([1,2,3,4])
y=np.array([2,4,6,8])
ax.plot(x,y,color = 'b')
ax.annotate("",
xy=(4.5, 9),
xytext=(4, 8),
arrowprops=dict(arrowstyle="->", color="r"))
# 設置X軸、Y軸最大坐標
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.grid()
ax.set_aspect('equal')
plt.title("趨勢展示圖")
plt.show()
arrow()