最近需要用到matplotlib來繪圖,之前沒接觸過只能加快速度學習一下。
Matplotlib 可能是 Python 2D-繪圖領域使用最廣泛的套件。它可以輕鬆地將數據圖形化,並且提供多樣化的輸出格式。
1.設置名稱、大小、繪製樣式、顏色、線寬
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
# plot:繪製出來是直線
# scatter: 繪製出是 點
num:figure名稱
figsize:調整大小
plt.figure(num=3, figsize=(1,2))
plt.plot(x, y2)
設置顏色、線寬、線的樣式(虛線)
plt.plot(x, y1, color='red',linewidth=3.0,linestyle='--')
2、設置座標軸取值範圍
plt.xlim((-1, 2))
plt.ylim((-2, 3))
3、描述x軸y軸是什麼東西
plt.xlabel('I am x')
plt.ylabel('I am y')
4、換單位:小標換成-1 - 2, 分5個單位
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
5、y軸修改成好看的字體
- y軸換成文字
- 修改成好看的字體
- 機器能讀 $ \ $ --- r'$really\ good$'
- 數學形勢的a ---\alpha --- r'$bad \ \alpha$'
plt.yticks([-2, -1.8, -1, 1.22, 3,],
[r'$really\ good$', r'$bad\ \alpha$', r'$normal$', r'$good$', r'$5good$'])
6、修改座標圖的位置
gca = 'get current axis' 取出當前繪製的軸
ax = plt.gca()
設置它的脊樑: 即4個邊框
設置右邊、上邊消失
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
7、x軸、y軸用哪一個軸代替
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
x軸用下面的軸代替
y軸用左邊軸代替
8、挪動x和y的位置
橫座標位置 = 縱座標值的-1位置
ax.spines['bottom'].set_position(('data',-1))
上面的data位置---有不同的參數:
1.outward
2.axes 定位到y的百分之多少的位置
ax.spines['bottom'].set_position(('axes',0.2))
<!--相當於位於y的20%處-->
ax.spines['left'].set_position(('data',0))
9、區分每個圖片中不同的數據(做圖例)
- label: 設置名字
- 這裏l1, l2 如果要傳入handles, 必須加逗號,這是matplotlib的特殊形式
l1, = plt.plot(x, y2, label='up')
l2, = plt.plot(x, y1, label='down', color='yellow', linewidth=1.0, linestyle='--')
- loc='best' :自動找沒有數據的地方放置 upper right...
- handles=[]: 存放放入圖例的線
plt.legend(handles=[l1, l2,], labels=['aaa', 'bbb'], loc='best')
然後沒有什麼問題就可以顯示啦。
plt.show()