文档说明
此文档主要记录在使用 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)