Pandas知识点-绘制统计图

使用matplotlib可以绘制各种各样的统计图,Pandas对matplotlib中的绘图方法进行了更高层的封装,使用起来更简单方便。

本文介绍Pandas中最基本的几种统计图的绘制方法,都非常常用。

本文使用的数据来源于网易财经,具体下载方法可以参考:https://blog.csdn.net/weixin_43790276/article/details/113923039。

一、数据准备

数据文件是600519.csv,将此文件放到代码同级目录下,从文件中读取出数据。

为了使数据简洁一点,删除了一些列,设置“日期”为索引。

读取的原始数据如上图,本文基于这些数据来绘制统计图。

二、绘制折线图

Pandas中直接用Series对象或DataFrame对象调用plot()方法既可以绘制统计图。

kind: 使用kind参数指定图形的种类,line表示折线图,scatter表示散点图,bar表示柱状图,barh表示水平柱状图,hist表示直方图,pie表示饼图。这六种图形是最常用的图形,kind还支持其他图形,如box表示箱图等。

figsize: 使用figsize参数设置图形的大小,参数格式为(width, height)。

xlabel: 图形中会显示x轴的标签,可以使用xlabel参数修改或设置不显示,ylabel同理。

绘图时为了显示(show()方法)图形,会导入matplotlib.pyplot(as plt),可以使用plt对象的xticks()方法设置x轴刻度值,刻度值的倾斜度等,yticks()同理。可以使用text()方法添加图形中的数值标签。

kind参数默认为line,在绘制折线图时可以不指定kind参数。

linestyle: 使用linestyle参数设置折线图的线型,如'--'表示虚线,'-.'表示点线等。

marker: 使用marker参数设置折线图中数值点的样式,可以设置'o','*'等。

用DataFrame对象绘制折线图时,有多组数据,调用plot()方法会自动绘制出条折线图,并且自动设置好图例,比matplotlib方便很多。

三、绘制散点图

设置kind参数为scatter即可绘制散点图。

需要注意的是,在Pandas中,scatter不支持Series对象,只支持DataFrame对象,所以不能用Series对象绘制散点图。

绘制散点图时,通过x参数和y参数指定散点图的x轴数据和y轴数据。x和y都是DataFrame中的列标签,绘图时会根据列标签读取对应列的数据。

s: 使用s参数设置散点图中点的大小。

在Pandas中,绘制图形除了在plot()中指定kind参数外,还可以通过plot链式调用对应的方法,如plot.scatter()表示绘制散点图,后面绘制柱状图、直方图、饼图等也可以用链式调用的方式。

alpha: 设置图形显示的透明度,默认是None,可以传入0~1之间的数,值越小越透明。

marker参数与折线图中的用法相同,当设置成'*'时,显示的图形为五角星,当然还有很多其他的类型,可以参考matplotlib中的markers模块。

c: c参数用于设置散点图的颜色,可以指定一个颜色,也可以设置成一个数组或浮点数,如例子中使用numpy生成一个随机的数组,颜色随机从cmap中获取。

cmap: cmap参数用于设置点的颜色热力图,默认为image.cmap,可以设置成自己需要的颜色类型,参考matplotlib中的colors模块。只有当颜色参数c设置成数组或浮点数时,cmap参数才有用。

设置cmap参数后,会在图形右边生成一个柱状的颜色渐变图,就像下图这样。此时x轴的刻度值会被自动隐藏,将colorbar参数设置成False,可以隐藏颜色渐变图,重新显示x轴刻度值。

s参数也可以设置成一个数组,如例子中也是用numpy生成一个随机的数组,使每个点的大小不一样。

四、绘制柱状图

使用plot链式调用bar()方法,或在plot()中设置kind为bar,都可以绘制柱状图。

width: width参数用于设置柱状图的宽度,默认为0.8,可以根据需要进行修改。柱状图的每一组柱子是独立的,所以中间留好适合的间距会更好,width一般都设置成小于1。

bottom: bottom参数用于设置柱状图的底部位置(使柱状图“上浮”),默认为0,这个参数一般不需要修改,保持0即可。设置bottom参数后,柱状图会沿y轴方向上移,如设置为200,则柱状图上移200,从y坐标为200的地方开始绘制,柱状图的长度不发生改变。例子中的0.5相对于2000多的数值差距太大,看不出来。

color: color参数用于设置柱状图的颜色,前面折线图和散点图是用c参数,有一点差异。当柱状图中有多组数据时,最好传入一个数组,使不同组的柱状图颜色不一样,方便区分。

五、绘制水平柱状图

使用plot链式调用barh()方法,或在plot()中设置kind为barh,就可以绘制水平柱状图了,参数用法与bar()方法一样。当然,在设置x轴刻度值,y轴刻度值,数值标签等时要注意方向的转换。

六、绘制直方图

使用plot链式调用hist()方法,或在plot()中设置kind为hist,都可以绘制直方图。这里要强调的是,直方图不是柱状图,两者的应用场景完全不同。

绘制直方图前,要根据数据的分布设置好适合的组距,然后根据组距计算出组数。

bins: bins参数用于设置直方图的组数,传入计算的组数。

如果需要显示图例,使用plt对象的legend()方法设置即可。

七、绘制饼图

使用plot链式调用pie()方法,或在plot()中设置kind为pie,都可以绘制饼图(扇形图)。

饼图是用于展示数据占比的,所以要先确定数据是否符合预期,如果不符合要先进行处理。

autopct: autopct参数用于设置饼图中的百分比格式,如'%.2f%%'表示保留两位小数。

colors: colors参数用于设置每个扇形的颜色,与数据分类一一对应,传入一个长度与数据分类数相等的列表。

explode: explode参数用于设置每个扇形到圆心的距离,传入一个长度与数据分类数相等的列表,默认每个扇形到圆心的距离都是0,将想要分离展示的扇形距离设置成一个适合的值,如0.1,即可将该部分突出展示。

pctdistance: pctdistance参数用于设置百分比显示离圆心的距离,默认值是0.6,可以按需将pctdistance参数增大或减小。

textprops: textprops参数用于设置标签和百分比的字体、大小等,传入一个字典。

以上就是Pandas中六种常用统计图的绘制介绍,如果需要代码和数据,可以扫码关注公众号“Python碎片”,然后在后台回复“pandas05”关键字获取本文代码和数据。

Pandas知识点-绘制统计图相关推荐

  1. python数据分析知识点_Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. 下面将是在知识点一, 二的基础上继续总结. 前面所介绍的都是以表格的形式中展现数据, 下面将介绍Pandas与Matpl ...

  2. [月份维度]日志数据提取包含关键词的事件,解析落入的月份计数,matplotlib绘制统计图,python

    [月份维度]日志数据提取包含关键词的事件,解析落入的月份计数,matplotlib绘制统计图,python 日志数据提取事件关键词,解析对应日期的星期计数,matplotlib绘制统计图,python ...

  3. python hist函数_虎哥的python小技巧放送之绘制统计图(2)

    先放出第一期让大家回顾一下上次的内容 虎哥的python小技巧放送之绘制统计图(1) 第一期主要给大家讲了一些图形设置的东西.这一次开始正式带大家画图~ 折线图:折线图可以通过matplotlib中的 ...

  4. Pandas知识点-添加操作append

    Pandas知识点-添加操作append 在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中.append()方法也可以用于合并操作,本文 ...

  5. Pandas知识点-合并操作combine

    Pandas知识点-合并操作combine combine是联合的意思,在Pandas中,combine()方法也是一种实现合并的方法,本文介绍combine()方法的用法. 一.combine_fi ...

  6. Pandas知识点-合并操作join

    Pandas知识点-合并操作join 在Pandas中,join()方法也可以用于实现合并操作,本文介绍join()方法的具体用法. 一.基础合并操作 join(other): 将一个或多个DataF ...

  7. Pandas知识点-合并操作merge

    Pandas知识点-合并操作merge merge()方法是Pandas中的合并操作,在数据处理过程中很常用,本文介绍merge()方法的具体用法. 一.基础合并操作 merge(left, righ ...

  8. Pandas知识点-连接操作concat

    Pandas知识点-连接操作concat Pandas提供了多种将Series.DataFrame对象合并的功能,有concat(), merge(), append(), join()等.这些方法都 ...

  9. Pandas知识点-equals()与==的区别

    Pandas知识点-equals()与==的区别 在Pandas中,equals()方法用于验证数据是否等效. 验证等效性需要进行比较,上一篇文章介绍了比较操作.比较操作参考:https://blog ...

  10. Pandas知识点-比较操作

    Pandas知识点-比较操作 比较操作是很简单的基础知识,不过Pandas中的比较操作有一些特殊的点,本文进行介绍. 一.比较运算符和比较方法 比较运算符用于判断是否相等和比较大小,Python中的比 ...

最新文章

  1. linux 查看磁盘空间 文件 文件夹 大小
  2. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第3章-基于代数连通度估计的多智能体系统群集运动控制
  3. java 动态添加定时器_Spring整合Quartz实现动态定时器的示例代码
  4. 计算机网断IP修改,修改计算机名、IP
  5. mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】
  6. SELECT语句,去除某个字段的重复信息
  7. java 俄罗斯方块窗口_[代码全屏查看]-java 俄罗斯方块
  8. 【HIVE 之 DDL,DML】
  9. 樱花动漫中的视频下载分析
  10. 【opencv之Roberts算子】
  11. python超市管理系统实训报告_需求分析实验报告(小型超市管理系统)
  12. 10个web开发好用框架
  13. 从numpy掩码到pytorch掩码
  14. QA - 有两种药片A和B,外观一样功效不同,每次需要吃一个A+B;拿出来2A+B,问该怎么吃?
  15. 2021年氯化工艺考试内容及氯化工艺考试试卷
  16. ov5640帧率配置_坚果R2性能测试:四款热门游戏,帧率表现如何?
  17. 1.几种简单矩阵计算的Fortran实现
  18. [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)
  19. HP-SuperDome MP收集日志
  20. Altera Rapidio IP IO 映射寄存器的配置

热门文章

  1. SAP跨公司销售经典场景
  2. OSChina 周日乱弹 —— 十大人艰不拆的网络真相!
  3. 高电平、低电平复位电路
  4. rar password recover(rar密码恢复工具) v2.0.0.0
  5. vscode如何更换主题
  6. html全屏显示两个显示器,google-chrome – 跨多个显示器的Windows / Chrome / ATI /浏览器全屏...
  7. java orb 是什么_什么是ORB
  8. 从零开始学GIMP:一.从基本图形开始
  9. 渗透测试工具-sqlmap
  10. 长期在计算机房工作辐射大吗,在机房里工作辐射大吗