前言
中文核心期刊级柱状图绘制方法,大家可以根据自己的需要修改python代码使用。
绘制步骤
1.引入库
import numpy as np
import matplotlib.pyplot as plt
2.创建图像、双Y坐标轴
fig = plt.figure(figsize=(10,6), dpi=400)
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx() # 创建第二个坐标轴
3.设置柱柱的高度
bars1 = [331.8,52.1,113.1,47.8,61.9,9.5]
bars2 = [18.2,7.2,10.6,6.9,7.9,3.1]
bars3 = [13.2,4.2,8.6,3.6,6.7,2.5]
bars4 = [27.9,9.1,19.3,5.1,10.1,2.8]
bars5 = [5.3,3.0,4.4,2.3,3.2,1.7]
bars6 = [4.2,1.8,3.9,1.4,2.7,1.2]
4.设置柱柱的位置
barWidth = 0.24
r1 = np.arange(len(bars1))
r2 = [x + barWidth for x in r1]
r3 = [x + barWidth for x in r2]
5.画柱柱
ax2.bar(r1, bars1, color='#FF6347', width=barWidth, edgecolor='white', label='HH1')
ax1.bar(r2, bars2, color='#228B22', width=barWidth, edgecolor='white', label='HH2')
ax1.bar(r3, bars3, color='#1E90FF', width=barWidth, edgecolor='white', label='HH3')
ax2.bar(r1, bars4, color='#000000', width=barWidth,bottom = bars1, edgecolor='white', label='XX1')
ax1.bar(r2, bars5, color='#FFFF00', width=barWidth,bottom = bars2, edgecolor='white', label='XX2')
ax1.bar(r3, bars6, color='#EE82EE', width=barWidth,bottom = bars3, edgecolor='white', label='XX3')
6.设置坐标轴及图例
#设置x轴名称
plt.xticks([r + barWidth for r in range(len(bars1))], ['AA','BB','CC','DD','EE','FF'])
#设置Y轴刻度、标签
ax1.tick_params(labelsize=16)
ax1.set_ylabel('字母',fontsize=16)
ax2.tick_params(labelsize=16)
ax2.set_ylabel('字母',fontsize=16)
#设置边框
ax1.spines['top'].set_linewidth(2)
ax1.spines['bottom'].set_linewidth(2)
ax2.spines['bottom'].set_linewidth(2)
ax1.spines['left'].set_linewidth(2)
ax2.spines['right'].set_linewidth(2)
#设置图例
handles1, labels1 = ax1.get_legend_handles_labels()
ax1.legend(handles1, labels1,loc='upper center',fontsize=16)
handles2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(handles2, labels2,loc='upper right',fontsize=16)
7.保存图片、可视化
plt.savefig('./plot_bar.jpg', dpi=400)
plt.show()