最近学习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 绘图可视化练手--折线图/条形图的更多相关文章

  1. Python - matplotlib 数据可视化

    在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...

  2. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  3. 可视化数据matplotlib之安装与简单折线图

    matplotlib是一个可视化数据的模块,安装前需要先安装Visual Studio Community:然后去https://pypi.python.org/pypi上查找matplotlib并下 ...

  4. Python之路【第二十四篇】:Python学习路径及练手项目合集

      Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...

  5. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  6. 用matplotlib.pyplot画简单的折线图,直方图,散点图

    #coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...

  7. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  8. Python使用matplotlib模块绘制多条折线图、散点图

    用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...

  9. python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)

    //2019.7.14晚matplotlib七种常见图像输出编程大全 七种图形汇总输出如下: import numpy as np #导入数据结构nmupy模块import matplotlib.py ...

随机推荐

  1. MAC 相关

    1.找回个人收藏下的消失项,如文稿等   点击个人收藏中下的任意项,如桌面.下载等,按住Command+上箭头,出现如下界面,拖住消失项添加到个人收藏即可

  2. C++笔记014:C++对C的扩展——新增数据类型bool类型

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 1.C++在C语言的基本类型系统之上增加了bool类型. 2.C++中的bool类型变量可取的值只有true 和false,true代表真 ...

  3. Linux基础练习题(五)

    1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: [root@bj-1-142 ~]# ...

  4. LVM的创建与管理

    LVM的创建与管理1.创建物理分区  fdisk 或者 parted 工具分区. LVM分区的类型ID为8e2.创建物理卷  pvcreate 磁盘分区或整个磁盘3.创建卷组  vgcreate 卷组 ...

  5. -L -Wl,-rpath-link -Wl,-rpath区别精讲

    目录 前言 源码准备 源码内容 尝试编译,保证源码没有问题 编译 首先编译world.c 编译并链接hello.c 调试编译test.c 结论 转载请注明出处,谢谢 https://www.cnblo ...

  6. centos7开机不进入图形界面

    centOS7开机不进入图形界面设置和centOS6系列不同的是,不再是直接改文件中的5就可以了. centOS7设置如下: systemctl get-default    //获取当前的默认tar ...

  7. VCC、VDD、VSS以及VBAT的区别

    在STM32 的学习中,发现有几种看起来相关的名称,分别是VCC.VDD.VSS.VBAT,在经过搜索查找之后,总结如下: 1.VCC的C是Circuit的意思,是指整个供电回路的电压, 也有人说VC ...

  8. ACM1009:FatMouse' Trade

    Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats guarding th ...

  9. 【Mac】gem install 出错 You don't have write permissions for the /Library/Ruby/Gems

    问题描述 RedisDump 是一个用于 Redis 数据导人/导出的工具,是基于 Ruby 实现的,需要先安装 Ruby.但因为 Mac 自带有 Ruby 所以我直接用gem install red ...

  10. C语言中while语句里使用scanf的技巧

    今天友人和我讨论了一段代码,是HDU的OJ上一道题目的解,代码如下 #include<stdio.h> { int a,b; while(~scanf("%d%d",& ...