文檔說明
此文檔主要記錄在使用 matplotlib
庫中出現的問題,給出相關代碼段。便于查閱
設定顯示中文
注意: 在設定中文顯示時需注意電腦中必須包含有改字型,采用 docker
繪圖時遇到設定字型不起作用的情況,主要是因為docker環境中未安裝此字型
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 設定字型為微軟雅黑
mpl.rcParams['font.serif'] = ['SimHei']
采用子圖方式繪制柱狀圖
import pandas as pd
sub_res = pd.read_csv('you file path.csv')
labels = sub_res.index # 設定X軸坐标
x = np.arange(len(labels))*5 # 設定X軸繪圖間隔
width = 0.75 # 以柱狀圖為例,柱狀圖要素偏倚距離
fig, ax = plt.subplots(figsize=(10,8)) # 指定子圖尺寸
ax.spines['right'].set_visible(False) # 設定是否顯示邊框
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)
rects1 = ax.bar(x-w,sub_res.POD, label='命中率') # x-w指定了該柱狀圖在x軸位置,label在指定顯示圖例時會作為圖例顯示
rects2 = ax.bar(x, ...) # 柱狀圖寬度為0.75,設定w為0.75保證rects1、rects2不重疊
ax.set_title('your fig title')
ax.grid() # 顯示網格線
ax.set_ylim(0,1,0.2) # 設定y軸坐标範圍及間距
ax.set_xticks(x) # 設定x刻度位置
ax.set_xlabel("your x text") # 設定x文本
ax.set_xticklabels(labels) # 使用字元串标簽清單設定xaxis标簽
ax.legend() # 顯示圖例
plt.tight_layout() # tight_layout會自動調整子圖參數,使之填充整個圖像區域。
plt.savefig(r'your save figure.jpg',dpi=300)