数据可视化之利用Python绘制折线图

使用Python绘制折线图的方法如下:

import matplotlib.pyplot as plt
import numpy as np
#把三个折线放在同一张图内比较

acc1 = [[0.853,0.5865,0.6125,0.58,0.5675],[0.473333,0.33,0.23,0.25,0.26],[0.715556,0.45,0.421111,0.411111,0.375556]]          #设置数值
acc2 = [[0.886,0.7255,0.703,0.6645,0.741],[0.618889,0.32,0.31,0.29,0.32],[0.81,0.523333,0.498889,0.397778,0.497778]]
acc3 = [[0.8895,0.767,0.744,0.6915,0.774],[0.696667,0.37,0.28,0.34,0.41],[0.836667,0.58,0.502222,0.548889,0.641111]]          
acc4 = [[0.9165,0.814,0.7445,0.69,0.8175],[0.663333,0.35,0.32,0.33,0.37],[0.828889,0.581111,0.53,0.512222,0.674444]]
NE_err1 = [0.07079,0.0708,0.07867,0.05292,0.04603]
NE_err2 = [0.04705,0.08219,0.06581,0.06866,0.07569]
NE_err3 = [0.04863,0.05840,0.06304,0.05341,0.05643]
NE_err4 = [0.04419,0.08285,0.07612,0.05692,0.05847]
CE_err1 = [0.10616,0.14451,0.05685,0.11836,0.12194]
CE_err2 = [0.11294,0.12083,0.17323,0.13839,0.07714]
CE_err3 = [0.06481,0.07703,0.12559,0.14441,0.08373]       #标准差  std
CE_err4 = [0.11599,0.09398,0.12763,0.12968,0.08833]
AE_err1 = [0.16879,0.11205,0.1064,0.1388,0.11877]
AE_err2 = [0.13059,0.11421,0.19174,0.14259,0.13597]
AE_err3 = [0.10863,0.1493,0.14405,0.13992,0.09098]
AE_err4 = [0.17075,0.14112,0.17153,0.07852,0.12129]
curve = [0,60,90,120,180]                         #X轴
lab = ['100ms','200ms','300ms','400ms']         #图例
y = np.arange(0,1,0.05)                         #Y轴大小和间距
plt.figure()
plt.subplot(131)                                #一行三列第一个
plt.plot(curve,acc1[0],'Db-')
plt.plot(curve,acc2[0],'sy-')                   #不同的数据线用不同的样式
plt.plot(curve,acc3[0],'<g-')
plt.plot(curve,acc4[0],'or-')
plt.errorbar(curve,acc1[0],yerr=NE_err1,capsize=3)      #设置errorbar,其中capsize是设置errorbar上的横线
plt.errorbar(curve,acc2[0],yerr=NE_err2,capsize=3)
plt.errorbar(curve,acc3[0],yerr=NE_err3,capsize=3)
plt.errorbar(curve,acc4[0],yerr=NE_err4,capsize=3)
plt.ylabel('ACC',fontsize=18)
plt.xticks(curve,fontsize=18)
plt.yticks(y,fontsize=18)
plt.subplot(132)                               #一行三列第二个
plt.plot(curve,acc1[2],'Db-',curve,acc2[2],'sy-',curve,acc3[2],'<g-',curve,acc4[2],'or-')
plt.errorbar(curve,acc1[2],yerr=CE_err1,capsize=3)
plt.errorbar(curve,acc2[2],yerr=CE_err2,capsize=3)
plt.errorbar(curve,acc3[2],yerr=CE_err3,capsize=3)
plt.errorbar(curve,acc4[2],yerr=CE_err4,capsize=3)
plt.xticks(curve,fontsize=18)
plt.yticks(y,fontsize=18)
plt.subplot(133)
plt.plot(curve,acc1[1],'Db-',curve,acc2[1],'sy-',curve,acc3[1],'<g-',curve,acc4[1],'or-')
plt.errorbar(curve,acc1[1],yerr=AE_err1,capsize=3)
plt.errorbar(curve,acc2[1],yerr=AE_err2,capsize=3)
plt.errorbar(curve,acc3[1],yerr=AE_err3,capsize=3)
plt.errorbar(curve,acc4[1],yerr=AE_err4,capsize=3)
plt.xticks(curve,fontsize=18)
plt.yticks(y,fontsize=18)
plt.legend(lab,loc='best',fontsize=15)          #图例放置位置以及大小
plt.show()

这里主要说一下capsize的作用是在errorbar上绘制一条横线。
呈现结果如下:
这里写图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值