Python--matplotlib 绘图可视化练手--折线图/条形图
最近学习matplotlib绘图可视化,感觉知识点比较多,边学习边记录。
对于数据可视化,个人建议Jupyter Notebook。
1.首先导包,设置环境
import pandas as pd
import numpy as np
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import matplotlib.pyplot as plt
%matplotlib inline #使图片内嵌交互环境显示
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
2.读取数据并显示
data_every_month = pd.read_csv('data_every_month.txt')
data_every_month

3.画折线图
y = data_every_month['nums'].T.values
x = range(0,len(y))
plt.figure(figsize=(10, 6))
plt.plot(x,y,'')
plt.xticks((0,20,40,60,80,100,120),('200504','200912','201108','201306','201502','201610',''))
plt.xlabel('年月')
plt.ylabel('XX事件数')
plt.title('每月XX事件数')
plt.show()

4.取片段数据,同一张图画两条折线来区分
y1=y[79:91]
y2=y[91:102]
x1=range(0,len(y1))
x2=range(0,len(y2))
plt.figure(figsize=(10, 6))
plt.plot(x1,y1,'',label="2015年")
plt.plot(x2,y2,'',label="2016年")
plt.title('2015-2016年月XX事件数')
plt.legend(loc='upper right')
plt.xticks((0,2,4,6,8,10),('1月','3月','5月','7月','9月','11月'))
plt.xlabel('月份')
plt.ylabel('XX事件数')
plt.grid(x1)
plt.show()

5.读取小时频数数据,画重叠的条形图
data_hour2015 = pd.read_csv('data_hour2015.txt')
data_hour2016 = pd.read_csv('data_hour2016.txt')
plt.figure(figsize=(10, 6))
data_hour2015['nums'].T.plot.bar(color='g',alpha=0.6,label='2015年')
data_hour2016['nums'].T.plot.bar(color='r',alpha=0.4,label='2016年')
plt.xlabel('小时')
plt.ylabel('XX事件数量')
plt.title('XX事件数小时分布')
plt.legend(loc='upper right')
plt.show()

6.读取周频数数据,画非重叠的条形图
data_week2015 = pd.read_csv('data_week2015.txt')['nums'].T.values
data_week2016 = pd.read_csv('data_week2016.txt')['nums'].T.values
plt.figure(figsize=(10, 6))
xweek=range(0,len(data_week2015))
xweek1=[i+0.3 for i in xweek]
plt.bar(xweek,data_week2015,color='g',width = .3,alpha=0.6,label='2015年')
plt.bar(xweek1,data_week2016,color='r',width = .3,alpha=0.4,label='2016年')
plt.xlabel('周')
plt.ylabel('XX事件数量')
plt.title('XX事件数周分布')
plt.legend(loc='upper right')
plt.xticks(range(0,7),['星期日','星期一','星期二','星期三','星期四','星期五','星期六'])
plt.show()

7.读取类别频数数据画水平条形图
data_bar = pd.read_csv('data_bar.txt')
label = data_bar['wfxw'].T.values
xtop = data_bar['nums'].T.values
idx = np.arange(len(xtop))
fig = plt.figure(figsize=(12,12))
plt.barh(idx, xtop, color='b',alpha=0.6)
plt.yticks(idx+0.4,label)
plt.grid(axis='x')
plt.xlabel('XX事件次数')
plt.ylabel('XX事件名称')
plt.title('2015.1-2016.11月XX事件排行榜')
plt.show()

Python--matplotlib 绘图可视化练手--折线图/条形图的更多相关文章
- Python - matplotlib 数据可视化
在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...
- python中利用matplotlib绘图可视化知识归纳
python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...
- 可视化数据matplotlib之安装与简单折线图
matplotlib是一个可视化数据的模块,安装前需要先安装Visual Studio Community:然后去https://pypi.python.org/pypi上查找matplotlib并下 ...
- Python之路【第二十四篇】:Python学习路径及练手项目合集
Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- 用matplotlib.pyplot画简单的折线图,直方图,散点图
#coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
- Python使用matplotlib模块绘制多条折线图、散点图
用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...
- python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)
//2019.7.14晚matplotlib七种常见图像输出编程大全 七种图形汇总输出如下: import numpy as np #导入数据结构nmupy模块import matplotlib.py ...
随机推荐
- 网页静态化解决方案-Freemarker
1.1 技术简介与使用 1.1.1 简介 为什么使用: 1. 减轻数据库的访问压力,静态化比较适合大规模且相对变化不太频繁的数据: 2. 有利于SEO(搜索引擎优化); 纯的HTML ...
- vue父子组件之间的传值
引入组件 父组件 <div> <form-edit></form-edit> </div> import FormEdit from "路径& ...
- 使用Mybatis连接到Mysql报错,WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be esta
在Eclipse中使用springboot整合Mybatis,连接到5.7版本Mysql报错WARN: Establishing SSL connection without server's ide ...
- 虚拟机重启网络服务失败,当查看状态显示错误Failed to start LSB......
重启网络失败截图 从本质上来看出现这样的问题,是因为拷贝过来的虚拟机重新分配了网卡MAC地址.这样造成的结果是配置文件中MAC与当前网卡MAC不一致.所以只需要修改一下配置文件即可. 用ip addr ...
- php安装redis拓展
1. 查看是否安装redis库 查看是否安装redis库了.可以通过下面2种方式查看. phpinfo()是否能输出redis的加载信息 在命令行执行`php -m` 输出gd 2. 安装redis库 ...
- Using Angular 1.x With ES6 and Webpack
http://angular-tips.com/blog/2015/06/using-angular-1-dot-x-with-es6-and-webpack/
- 20155236 2016-2017-2《Java程序设计》课程总结
20155236 2016-2017-2<Java程序设计>课程总结 作业链接汇总 预备作业1:对专业学习的展望,课程方面.师生关系的建议 预备作业2:在实践中学习,自己的相关经验以及C语 ...
- 20155327《Java程序设计》第二周学习总结
<Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...
- WPF 日历模板改写
原文:WPF 日历模板改写 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83346221 本 ...
- [BZOJ2961]共点圆-[凸包+cdq分治]
Description 传送门 Solution 考虑对于每一个点: 设圆的坐标为(x,y),点的坐标为(x0,y0).依题意得,当一个点在圆里,需要满足(x-x0)2+(y-y0)2<=x2+ ...