良心参考:
https://zhuanlan.zhihu.com/p/588035707
图例
plt.legend
画图例
extra_color_patch1 = Patch(facecolor=(0.9803921568627451, 0.5098039215686274, 0.0))
extra_color_patch2 = Patch(facecolor=(0.8509803921568627, 0.30980392156862746, 0.2))
plt.legend(handles=[bar1, bar2, extra_color_patch1, extra_color_patch2], labels=["QANN w/ C/L", "SNN w/ C/L", "QANN w/ R", "SNN w/ R"], loc='upper right', edgecolor='black',frameon=True, framealpha=0.2)
edgecolor
设成black
frameon
是边框
framealpha
边框透明度
x轴
ticks
plt.tick_params(axis="both", which="major", direction="in", width=1, length=3, pad=5)
plt.tick_params(bottom=True,left=True)
plt.xticks(indices + bar_width / 2, indices)
保存
保存成svg——>可以直接拖到visio里面(pdf不行)
svg
plt.savefig("Outputsum.svg",bbox_inches='tight', pad_inches=0.01)
但是svg保存的时候会出现错位——>https://cloudconvert.com/svg-to-emf
把svg转成emf,就不会出现错位了
参考:
https://blog.csdn.net/weixin_44003119/article/details/121043242
颜色
参考:颜色参考,直接看这
子图
模仿模板
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [3, 5, 2, 7, 4]
y2 = [1, 6, 4, 5, 2]
plt.scatter(x, y1, marker='o', color='r', label='Y1') # 画点
plt.scatter(x, y2, marker='x', color='r', label='Y2')
for i in range(len(x)):
plt.plot([x[i], x[i]], [y1[i], y2[i]], color='g', linestyle='--')
for i in range(len(x)):
plt.plot([x[i], x[i + 1]], [y1[i], y2[i + 1]], color='g', linestyle='--')
plt.legend()
plt.title('Plot with Two Y-Axes')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True)
plt.show()