Python 绘图居然如此简单,真是大数据时代的神器
今天的文章讲解如何利用 Pandas 来绘图,前面写过 matplotlib 相关文章,matplotlib 虽然功能强大,但是 matplotlib 相对而言较为底层,画图时步骤较为繁琐,比较麻烦,因为要画一张完整的图表,需要实现很多的基本组件,比如图像类型、刻度、标题、图例、注解等等。目前有很多的开源框架所实现的绘图功能是基于 matplotlib 的,pandas是其中之一,对于 pandas 数据分析而言,直接使用 pandas 本身实现的绘图方法比 matplotlib 更方便简单。关于更多 Pandas 的相关知识请参考官方文档。
Pandas 绘制线状图
使用 Pandas 绘制线状图代码如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltdef craw_line():ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))ts = ts.cumsum()ts.plot()plt.show()if __name__ == '__main__':craw_line()
显示结果如下:
第二种绘画线状图方式如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltdef craw_line1():ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list("ABCD"))df = df.cumsum()df.plot()plt.show()if __name__ == '__main__':craw_line1()
线性图显示结果如下:
Pandas 绘制条形图
除了绘制默认的线状图,还能绘制其他图形样式,例如通过以下方法绘制条形图。绘图方法可以作为plot()的kind关键字参数提供。
绘制条形图1
通过如下方法绘制条形图1,详细代码如下:
def craw_bar():ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list("ABCD"))plt.figure()df.iloc[5].plot(kind="bar")plt.show()if __name__ == '__main__':craw_bar()
结果图显示如下:
绘制条形图2
通过如下方法绘制条形图2,详细代码如下:
def craw_bar1():#ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))df2 = pd.DataFrame(np.random.rand(10, 4), columns=["a", "b", "c", "d"])df2.plot.bar()plt.show()if __name__ == '__main__':craw_bar1()
图形结果展示如下:
生成堆叠条形图
上面的条形图2可以生成堆叠条形图,加上stacked=True参数即可,详细代码如下:
def craw_bar2():df2 = pd.DataFrame(np.random.rand(10, 4), columns=["a", "b", "c", "d"])df2.plot.bar(stacked=True)plt.show()if __name__ == '__main__':craw_bar2()
堆叠条形图展示如下:
将以上条形图设置为水平条形图,详细代码如下:
def craw_bar3():df2 = pd.DataFrame(np.random.rand(10, 4), columns=["a", "b", "c", "d"])df2.plot.barh(stacked=True)plt.show()if __name__ == '__main__':craw_bar3()
展示结果图如下:
总结
今天的文章就到这里啦,最后祝大家天天进步!!学习Python最重要的就是心态。我们在学习过程中必然会遇到很多难题,可能自己想破脑袋都无法解决。这都是正常的,千万别急着否定自己,怀疑自己。如果大家在刚开始学习中遇到困难,想找一个python学习交流环境,可以加入我们的【python裙】,领取学习资料,一起讨论,会节约很多时间,减少很多遇到的难题。
Python 绘图居然如此简单,真是大数据时代的神器相关推荐
- 有python专业的世界大学_大数据时代专业怎么选?2018年QS世界大学商业分析硕士专业排名...
导读:最新2018年QS世界大学商业分析硕士专业排名对全球各所大学商业分析专业做出综合评价,最终45所大学上榜. 商业分析专业Business Analysis到底学哪些科目?就业方向如何?作为商科专 ...
- 大数据时代需要有“神器”
身处大数据时代,每天面对纷至沓来的海量信息,人类的大脑要想迅速找到所需要的所有内容无异于大海捞针,就连所谓的"超级大脑"恐怕也很难做到这一点.不过,欧盟最近新开发出的一种人机交互系 ...
- Sqoop实践——原始数据库到大数据时代必备神器
必须要更改mysql,由原来5.1.17改为5.1.32,如下: [hdfs@bd4 ~]$ ll /usr/share/java/mysql-connector-java* -rw-r--r-- 1 ...
- 杨朔:大数据时代的移动营销
2019独角兽企业重金招聘Python工程师标准>>> 杨朔:大数据时代的移动营销 惠莫森中国区总经理杨朔表示,大数据本身强调的可能是大,但我们强调的是有用的数据.对于庞大的数据处理 ...
- 大数据时代都说python发展非常好,学习Python,到底有啥优势?
现在有很多人参加Python培训学习Python开发技术,但是参加Python培训真的那么好吗?学习Python开发在将来就业的时候有什么优势呢? 今天,小编就以上问题探讨一下. 学习Python开发 ...
- 2018年全国高校教师“Python编程、应用及华为大数据”培训班
关于举办2018年全国中高等院校教师 "Python编程.应用及华为大数据"培训班通知 全国各中高等院校计算机.软件等相关院(系): Python是一门免费.开源的跨平台高级动态编 ...
- 2018年全国中高等院校教师“Python编程、应用及华为大数据” 、“网络空间安全”、“区块链”培训班...
关于举办2018年全国中高等院校教师"Python编程.应用及华为大数据" ."网络空间安全"."区块链"培训班通知 全国各中高等院校计算机 ...
- Python PySpark 大数据时代
大数据的基本任务有数据的存储.计算.查询分析和挖掘,这些任务往往需要多台计算机共同调度才能完成.大数据时代,数据变成一种生成资料,其价值也提升到了新的高度.随着各行各业的数据化,使得数据逐步形成数据资 ...
- 【源码开发分享】计算机毕业设计之Python+Spark+Scrapy新闻推荐系统 新闻大数据 新闻情感分析 新闻文本分类 新闻数据分析 新闻爬虫可视化 大数据毕业设计
开发技术 Hadoop.Spark.SparkSQL.Python.Scrapy爬虫框架.MySQL.协同过滤算法(双算法,基于用户.基于物品全实现).阿里云短信.百度AI人工智能识别.支付宝沙箱支付 ...
最新文章
- [Android Traffic] 根据网络类型更改下载模式
- Python基础 模块
- linux实战应用案例: 777 权限表示什么,各数字又是什么含义?
- MySQL之无限级分类表设计
- Java黑皮书课后题第4章:*4.5(几何:正多边形的面积)正多边形是一个具有n条边的多边形,它每条边的长度都相等,而且所有角的度数也相等。编写程序,提示用户数输入边个数和边长,然后显示它的面积
- dell的1501和640m,买哪个好呢?
- Javascript 细节散记
- python实现K近邻算法
- lisp绘制直齿圆柱齿轮_直齿圆柱齿轮的画法.ppt
- 三极管构成的流水灯电路分析
- 登录到接收邮件服务器(pop3):验证失败,Office2010的outlook pop3邮箱设置问题
- Linux运维学习路线
- phpstorm 报 expecting statement
- 用于分类的神经网络算法,神经网络算法通俗解释
- 如何换config.plist、换clover和添加引导的教程
- 梳理chromium/chrome/谷歌浏览器对flash的支持
- margin重叠问题
- springMVC文件上传
- QT安装段错误segmentation fault
- WAP上网 AT+CGDCONT=1,IP,cmwap 命令详解