python畫圖系列

目錄

1.在圖上加入參考線

這裏寫圖片描述

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,100)
y = x*2
plt.plot(x, y)
plt.axvline(20,c='r',ls='dashed')
plt.axvline(40,c='r',ls='dashed')
plt.axvline(60,c='r',ls='dashed')
plt.show()

2.x軸刻度重疊怎麼辦?

有的時候畫圖會出現x軸的刻度很密集,使得x_label都重疊在一起,如下圖。

這時候怎麼才能讓x軸座標的刻度更加清晰呢?
——解決方案:將xlabel旋轉一定角度!

import matplotlib.pyplot as plt
import numpy as np

data = [30,60,20,100]
plt.bar(range(len(data)), data)
plt.xticks([0,1,2,3],['Alabama','Alaska','New Hampshire','Rhode Island'],rotation=30)
plt.show()

如下圖
在這裏插入圖片描述

3.如何讓多個子圖共用1個colorbar?

當你畫多張“熱圖”時,它們的取值範圍是相同的,此時我們希望只用 1個colorbar來表示它。那麼怎麼做呢?如下

from matplotlib import pyplot as plt
import numpy as np
fea_num_list = [65,150,200,350]
x1,x2,x3,x4 = [1]*4,[2]*4,[3]*4,[4]*4
X_left = np.array([x1,x2,x3,x4])
X_right = np.array([x2,x1,x4,x3])
fig = plt.figure(figsize=(5,5))
ax1 = fig.add_subplot(121)
im1 = ax1.imshow(X_left.reshape([4,4]), cmap=plt.get_cmap('hot'))
ax2 = fig.add_subplot(122)
im2 = ax2.imshow(X_right.reshape([4,4]), cmap=plt.get_cmap('hot'))
position=fig.add_axes([0.12, 0.2, 0.8, 0.03])#位置[左,下,右,上]

plt.colorbar(im2, cax=position,orientation='horizontal',shrink=0.5)
plt.show()

這裏寫圖片描述
其中colorbar的位置通過fig.add_axes來調節。

4.y軸座標尺度不同的2張圖重疊畫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章