1. 程式人生 > >matplotlib 修改座標軸,添加註釋及公式

matplotlib 修改座標軸,添加註釋及公式

座標軸刻度

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,11,1)
plt.plot(x,x)
ax = plt.gca()
#ax.locator_params(nbins=5) #xy軸同時調整
ax.locator_params('x',nbins=10) #只調整x軸
ax.locator_params('y',nbins=20) #只調整y軸
plt.show()

新增座標軸

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,11,1)
y1 = x**2
y2 = np.log(x)
plt.plot(x,y1,'g')
ax = plt.gca()

ax.twinx() #新增座標軸
plt.plot(x,y2,'r')

plt.show()

添加註釋

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(-10,10,1)
y1 = x**2

plt.plot(x,y1,'g')
plt.annotate('this is the bottom',xy=(0,1))

plt.show()

#################################################
plt.plot(x,y1,'g')
plt.annotate('this is the bottom',xy=(0,1), xytext=(0,20))


plt.show()
########################################################
plt.plot(x,y1,'g')
plt.annotate('this is the bottom',xy=(0,1), xytext=(0,20), arrowprops=dict(facecolor='r', frac=1, width=10,headwidth=30)) 
#xytext 文字的座標
#frac不再使用了, 箭頭佔整個圖形的比例
#headwidth 箭頭的寬度
#width 箭身的寬度

plt.show()

新增文字

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(-10,10,1)
y1 = x**2

plt.plot(x,y1,'g')
plt.text(0,40, 'function:y=x*x')

plt.show()
##########################################################
plt.plot(x,y1,'g')
plt.text(0,40, 'function:y=x*x',size=20, family='serif',color='r',weight=0)
plt.text(0,20, 'function:y=x*x',size=20, family='fantasy',color='g',weight=1000,bbox=dict(facecolor='r',alpha=0.4))
#size 字型大小
#family 字形
#color, 字的顏色
#style: italic
#weight:調整字型的粗細
#bbox: 畫外接矩形
plt.show()

新增公式

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(-10,10,1)
y1 = x**2

plt.plot(x,y1,'g')
plt.text(0,80, '$ y=x^2 $') #公式的開頭和結尾都是 $ 符號標記

plt.show()

###############################################
plt.plot(x,y1,'g')
plt.text(0,20, r'$ \alpha_i \beta_j \pi \lambda \omega $',size=20) #mat tex 公式
plt.show()