Python之matplot坐标修改,子图绘制等问题

  1. 最近使用matplotlib作图遇到的问题,做以下整理。先看图:
    在这里插入图片描述
  2. 绘制代码及注解
beta_1 = [81.56, 81.02, 69.07, 66.28]
beta_2 = [82.02, 81.20, 69.23, 66.22]
beta_3 = [82.40, 81.30, 69.30, 66.33]
# x轴标签数据
names = ['A→W', 'A→D', 'D→A', 'W→A']

beta_1 = [i / 100 for i in beta_1]
beta_2 = [i / 100 for i in beta_2]
beta_3 = [i / 100 for i in beta_3]

# 绘制时对应的x轴的坐标偏移
x = [i for i in range(len(names))]
x1 = [i + 0.25 for i in range(len(names))]
x2 = [i + 0.5  for i in range(len(names))]
x3 = [i + 0.25 for i in range(len(names))]

# 将x轴0,1,2...替换成names里面的'A→W'...
plt.xticks(x3, names)

# 绘制柱状图,x表示x轴的坐标便宜,beta表示纵轴的之,alpha是透明度,width是柱子的宽度
# facecolor是柱子颜色,edgecolor是柱子边框颜色, label是图列所用, lw是边缘or线的宽度
plt.bar(x,  beta_1, alpha=0.9, width = 0.25, facecolor = '#bbe1fa', edgecolor = 'white', label='Beta=0.5', lw=1)
plt.bar(x1, beta_2, alpha=0.9, width = 0.25, facecolor = '#3282b8', edgecolor = 'white', label='Beta=0.8', lw=1)
plt.bar(x2, beta_3, alpha=0.9, width = 0.25, facecolor = '#0f4c75', edgecolor = 'white', label='Beta=1.0', lw=1)
plt.legend() # label的位置在左上,没有这句会找不到label
plt.ylabel("Accuracy%") #Y轴标签
plt.xlabel(u"Transfer Task(Resnet)") #X轴标签

plt.grid(False) # 不展示网格
plt.ylim(0.65,0.83) #y轴的范围
# plt.yticks(np.arange(0.65, 0.83, step=0.02)) # y轴的显示刻度,

plt.show()
  1. 下一篇介绍子图绘制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值