使用python的matplotlib(pyplot)画折线图和柱状图

今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的代码记录分享一下,方便大家参考,个人感觉pyplot真的蛮方便的,非常值得使用。
        先看下官方对pyplot的描述:“Provides a MATLAB-like plotting framework.”。对,就是一个类似matlab的画图框架。就不多多说了,直接上代码吧:

一、折线图

代码:

import matplotlib.pyplot as plt#折线图
x = [5,7,11,17,19,25]#点的横坐标
k1 = [0.8222,0.918,0.9344,0.9262,0.9371,0.9353]#线1的纵坐标
k2 = [0.8988,0.9334,0.9435,0.9407,0.9453,0.9453]#线2的纵坐标
plt.plot(x,k1,'s-',color = 'r',label="ATT-RLSTM")#s-:方形
plt.plot(x,k2,'o-',color = 'g',label="CNN-RLSTM")#o-:圆形
plt.xlabel("region length")#横坐标名字
plt.ylabel("accuracy")#纵坐标名字
plt.legend(loc = "best")#图例
plt.show()

运行结果:


关于上述代码参数的一点解释:
plt.legend(loc=”best”) 中loc=”best”意思是自动选择放图例的合适位置,上图就是放在了右下角,这个参数还有其他的设置如下:

二、柱状图

  1. 多个柱状图用颜色区分
    代码如下:
#柱状图
import numpy as np
import matplotlib.pyplot as plt
ATT_LSTM = [0.8892,0.861,0.9243]
MATT_CNN = [0.8966,0.8556,0.9316]
ATT_RLSTM = [0.8867,0.8543,0.9344]
CNN_RLSTM = [0.9016,0.8636,0.9435]
#x = ['REST','LAPT','AUTO']
x = np.arange(3) #总共有几组,就设置成几,我们这里有三组,所以设置为3
total_width, n = 0.8, 4    # 有多少个类型,只需更改n即可,比如这里我们对比了四个,那么就把n设成4
width = total_width / n
x = x - (total_width - width) / 2
plt.bar(x, ATT_LSTM, color = "r",width=width,label='ATT-LSTM ')
plt.bar(x + width, MATT_CNN, color = "y",width=width,label='MATT-CNN')
plt.bar(x + 2 * width, ATT_RLSTM , color = "c",width=width,label='ATT-RLSTM')
plt.bar(x + 3 * width, CNN_RLSTM , color = "g",width=width,label='CNN-RLSTM')
plt.xlabel("dataset")
plt.ylabel("accuracy")
plt.legend(loc = "best")
plt.xticks([0,1,2],['REST','LAPT','AUTO'])
my_y_ticks = np.arange(0.8, 0.95, 0.02)
plt.ylim((0.8, 0.95))
plt.yticks(my_y_ticks)
plt.show()

结果如下:


2. 多个柱状图用填充图形(\,/,*,o等)
     代码如下:

#柱状图
import numpy as np
import matplotlib.pyplot as plt
ATT_LSTM = [0.8892,0.861,0.9243]
MATT_CNN = [0.8966,0.8556,0.9316]
ATT_RLSTM = [0.8867,0.8543,0.9344]
CNN_RLSTM = [0.9016,0.8636,0.9435]
#x = ['REST','LAPT','AUTO']
x = np.arange(3)total_width, n = 0.8, 4    # 有多少个类型,只需更改n即可
width = total_width / n
x = x - (total_width - width) / 2plt.bar(x, ATT_LSTM, color = "w",edgecolor = "k",width=width,hatch = "/",label='ATT-LSTM ')#edgecolor柱状边框颜色,hatch填充的内容
plt.bar(x + width, MATT_CNN, color = "w",edgecolor = "k",width=width, hatch = "+",label='MATT-CNN')
plt.bar(x + 2 * width, ATT_RLSTM , color = "w",edgecolor = "k",width=width, hatch = "*",label='ATT-RLSTM')
plt.bar(x + 3 * width, CNN_RLSTM , color = "w",edgecolor = "k",width=width, hatch = "\\",label='CNN-RLSTM')
plt.xlabel("dataset")
plt.ylabel("accuracy")
plt.legend(loc = "best")
plt.xticks([0,1,2],['REST','LAPT','AUTO'])
my_y_ticks = np.arange(0.8, 0.95, 0.02)
plt.ylim((0.8, 0.95))
plt.yticks(my_y_ticks)
plt.show()

运行结果为:

这就是画折线图和柱状图的示例,有问题欢迎大家留言交流。

使用python的matplotlib(pyplot)画折线图和柱状图相关推荐

  1. 能带曲线图绘制python_如何使用python的matplotlib模块画折线图

    python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...

  2. matplotlib 散点图和折线图画在一起_使用matplotlib.pyplot画折线图

    import matplotlib.pyplot as plt x_data=[1,2,3,4,5]#假定的X轴数据 y1_data=[x**2 for x in x_data]#假定Y轴数据是X轴数 ...

  3. python使用matplotlib可视化:折线图、条形图、柱状图、直方图、饼图、雷达图(极坐标图)

    python使用matplotlib可视化:折线图.条形图.柱状图.直方图.饼图.雷达图(极坐标图) 目录

  4. python画柱状图和折线图-Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  5. python导入数据画折线图_Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  6. 用python读取excel数据、并作图_Python读取Excel表格,并同时画折线图和柱状图的方法...

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  7. matplotlib在一张图同时画折线图和柱状图

    实现了在一张图片里用matplotlib的pyplot同时绘制折线图和柱状图. # -*- coding:utf-8 -*- import matplotlib import matplotlib.p ...

  8. Python | 使用matplotlib.pyplot创建线图

    Problem statement: Write a program in python (using matplotlib.pyplot) to create a line plot. 问题陈述:用 ...

  9. java画折线图和柱状图结合的综合图(用jfreechart)

    最近项目增加了需求,想要下载折线图和柱状图结合的综合图.我查了一会儿,要实现这个功能,我使用了这两个第三方包了: jfreechart-1.0.19.jar jcommon-1.0.23.jar 效果 ...

最新文章

  1. linux命令0424
  2. python中的pandas怎么安装_如何优雅的安装Python的pandas?
  3. 可疑文件_特制的ZIP文件能够绕过电子邮件安全网关
  4. afx_msg函数意思
  5. DQL 学习2 -- DQL声明
  6. mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据
  7. 从程序员小仙飞升上神,java技术开发要如何实现?
  8. 鸿蒙系统为什么腾讯,鸿蒙系统发布,为什么有人说其为安卓换壳?
  9. 【转】android:windowSoftInputMode属性详解
  10. eXtremeComponents介绍
  11. 伺服速度控制模式接线图_伺服驱动器速度控制模式的接线方式及注意事项
  12. 不可错过:教你创造一个有前途的迷你产品(下)
  13. COMSOL中文指导教程全集
  14. 压缩包密码破解-PkCrack(明文攻击)
  15. 中国99%的白领以及他们的家庭即将面临破产
  16. 微信戴圣诞帽的一个简易实现程序
  17. fastq文件转化成bam文件
  18. c语言编程 BMI判断健康,BMI指数真的可以反映人的健康状态吗?看完你就懂了
  19. 大数据之Hadoop3简单入门(一)(通俗易懂)
  20. 爬虫系列之爬取1688

热门文章

  1. linux千兆网卡接百兆交换机,千兆交换机可以接百兆网线吗?
  2. Android jenkins 自动化打包
  3. 【转】现学现用WPS,小技巧大帮助
  4. 2019年中科院信工所夏令营考核内容
  5. 赫兹的单位换算_hz是什么单位(频率和赫兹的换算)
  6. iOS动画:3D动画(18)
  7. Python u,b,r前缀的作用及应用
  8. matlab rloess,比较ggplot loess拟合和loess拟合函数
  9. 设计一个自我介绍简单页面
  10. 传奇开服方法教程:传奇开服在哪些网站打广告?传奇发布站打广告技巧