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 ...
随机推荐
- SVN搭建(linux 7)
第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看s ...
- Web的基本工作原理、HTTP协议和URL说明
Web工作原理 客户端和Web服务器通过HTTP协议进行通信.Web服务器有是也叫HTTP服务器或Web容器.HTTP协议采用的是请求/响应模式.即客户端发起HTTP请求,web服务器接收并解析处理H ...
- yyy loves Maths VII(状压DP)
题目背景 yyy对某些数字有着情有独钟的喜爱,他叫他们为幸运数字;然而他作死太多,所以把自己讨厌的数字成为"厄运数字" 题目描述 一群同学在和yyy玩一个游戏 每次,他们会给yyy ...
- 【整理】MySQL查询优化
优化建议 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用 ...
- jquery 增加与删除数组元素
1.数组元素的添加 demoArray.push(value); var demo=new Array(); var key=[4,5]; demo.push(1);//插入数字 demo.push( ...
- MongoDB的入门
MongoDB mongodb是非关系型数据库 对于关系型数据库,存储数据的时候需要提前建表建库,随着数据的复杂度越来越高,所建的表的数量也越来越多:但是非关系型却不需要 mongodb的基本的命令的 ...
- 利用node中的内置模块fs实现对简单文件的读取 拷贝 创建等功能
1.文件的读取 我们想要根据如下一种目录生成一种json数据 代码如下 //此函苏是对目录进行读取的 //我们想要生成的是一个根据目录所创建的json数据 const fs = require(&qu ...
- RUBY惯用方法(转)
RUBY惯用方法 目录 迭代 ||=赋值 程序入口 预设变量和特殊记号 inject 并行赋值 *的匹配 rescue简单用法 命名参数的默认值 精细duck typing控制 获取metaclass ...
- LSTM网络应用于DGA域名识别--文献翻译--更新中
原文献名称 Predicting Domain Generation Algorithms with Long Short-Term Memory Networks原文作者 Jonathan Wood ...
- 【python3】——centos7下安装
centos7下安装python3总步骤分三步: 一.依赖解决: 1.安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-d ...