pandas-matplotlib 画图初级教程。
来源:互联网 发布:海宁网络招聘 编辑:程序博客网 时间:2024/05/22 12:59
摘要
本文主要是关于在pandas中如何画图(柱状图、曲线图等等)的一个简单教程。pandas 中画图其实也是利用了matplotlib库。所以会matplotlib库的下面的内容可以不用看了。
1.如何画柱状图?
1.1情景一
假如我们有一个数据集data,我们想统计data中某一列(feature)中每个值出现的次数,并给出柱状图分布。我们可以这样做:
需要用到的库:
import pandas as pdimport matplotlib.pyplot as plt
data['feature'].value_counts()
统计完后,每个取值的总数就有了,下面我想把这个转化成柱状图。可以在上面那句程序的后面直接实现。
newdata['feature'].value_counts().plot.bar()
把图画出来显示出来
plt.show()
画到这里,我们可以发现,这个图很单调。下面我可以设置每个柱子不同的颜色。也非常简单。
newdata['feature'].value_counts().plot.bar(color=['green','red','tan','blue','black'])
plt.show()
matlib所有颜色的取值都在这个链接里,自行参考:所有颜色的取值
来这里,好看多了,但是总感觉少了点东西,我们可以考虑加上图例。图例的作用可以补充说明每个柱子代表什么。
我只要输入:
import matplotlib.patches as mpatches
newdata['feature'].value_counts().plot.bar(color=['green','red','tan','blue','black'])
patch=[]patch.append(mpatches.Patch(color='green', label='sample_1'))patch.append(mpatches.Patch(color='red', label='sample_2'))patch.append(mpatches.Patch(color='tan', label='sample_3'))patch.append(mpatches.Patch(color='blue', label='sample_4'))patch.append(mpatches.Patch(color='black', label='sample_5'))
plt.legend(handles=patch)plt.show()
其实到这里信息已经很充足,但是,还是漏了一个直观的信息,就是每个柱子的高度。
具体可以这样实现:
首先把每个柱子的宽度(width)设置成1,在bar()里面添加一个参数即可。
newdata['feature'].value_counts().plot.bar(width=1,color=['green','red','tan','blue','black'])
然后在每个柱子上的0.05高(可以自己设置)上显示柱子的高度。
for i,__ in enumerate(newdata['feature'].value_counts(sort=False).values.tolist()): plt.text(i,__+0.05, '%.0f' % __, ha='center', va= 'bottom',fontsize=15)
这里简单的解释一下。
plt.text(x,y,s)
x是显示文字的横坐标,y是纵坐标,s是显示的内容。
因此,在上面我们设置每个柱子的宽度是1,故每隔一个单位,就需要显示一次,每次显示的高度即纵坐标就是这个柱子的高度(取值个数)
最后我们得到这个图:
2.未完待续.......
阅读全文
0 0
- pandas-matplotlib 画图初级教程。
- python中matplotlib和pandas画图
- Python点滴(三)—pandas数据分析与matplotlib画图
- Python点滴(三)—pandas数据分析与matplotlib画图
- pandas画图
- pandas画图
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib画图
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib画图
- matplotlib画图
- matplotlib 画图
- matplotlib 画图
- 利用pandas模块读取csv文件和excel表格,并用matplotlib画图
- Angular 4 打包并发布
- SDUT-1466 双向队列
- 《Redis官方文档》Redis集群教程
- PHP 7.1.7安装Zabbix 3.2.1出现问题解决
- change from default to alternative Python version on Linux
- pandas-matplotlib 画图初级教程。
- android 获取应用程序包名,图标,入口Activity类
- CentOS-6.3安装使用MongoDB
- 1.4抽象数据类型和数据结构
- 简单的小区公告,系统公告
- linux如何挂载windows下的共享文件
- DataExcel 设置单元格,列,行只读 ReadOnly属性
- Linux 简单修改权限命令
- CentOS 7安装Nginx