最近学习matplotlib绘图可视化,感觉知识点比较多,边学习边记录。

对于数据可视化,个人建议Jupyter Notebook。

1.首先导包,设置环境

  1. import pandas as pd
  2. import numpy as np
  3. import sys
  4. reload(sys)
  5. sys.setdefaultencoding('utf-8')
  6. import matplotlib.pyplot as plt
  7. %matplotlib inline #使图片内嵌交互环境显示
  8. plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
  9. plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

2.读取数据并显示

  1. data_every_month = pd.read_csv('data_every_month.txt')
  2. data_every_month

3.画折线图

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

4.取片段数据,同一张图画两条折线来区分

  1. y1=y[79:91]
  2. y2=y[91:102]
  3. x1=range(0,len(y1))
  4. x2=range(0,len(y2))
  5. plt.figure(figsize=(10, 6))
  6. plt.plot(x1,y1,'',label="2015年")
  7. plt.plot(x2,y2,'',label="2016年")
  8. plt.title('2015-2016年月XX事件数')
  9. plt.legend(loc='upper right')
  10. plt.xticks((0,2,4,6,8,10),('1月','3月','5月','7月','9月','11月'))
  11. plt.xlabel('月份')
  12. plt.ylabel('XX事件数')
  13. plt.grid(x1)
  14. plt.show()

5.读取小时频数数据,画重叠的条形图

  1. data_hour2015 = pd.read_csv('data_hour2015.txt')
  2. data_hour2016 = pd.read_csv('data_hour2016.txt')
  3. plt.figure(figsize=(10, 6))
  4. data_hour2015['nums'].T.plot.bar(color='g',alpha=0.6,label='2015年')
  5. data_hour2016['nums'].T.plot.bar(color='r',alpha=0.4,label='2016年')
  6. plt.xlabel('小时')
  7. plt.ylabel('XX事件数量')
  8. plt.title('XX事件数小时分布')
  9. plt.legend(loc='upper right')
  10. plt.show()

6.读取周频数数据,画非重叠的条形图

  1. data_week2015 = pd.read_csv('data_week2015.txt')['nums'].T.values
  2. data_week2016 = pd.read_csv('data_week2016.txt')['nums'].T.values
  3. plt.figure(figsize=(10, 6))
  4. xweek=range(0,len(data_week2015))
  5. xweek1=[i+0.3 for i in xweek]
  6. plt.bar(xweek,data_week2015,color='g',width = .3,alpha=0.6,label='2015年')
  7. plt.bar(xweek1,data_week2016,color='r',width = .3,alpha=0.4,label='2016年')
  8. plt.xlabel('周')
  9. plt.ylabel('XX事件数量')
  10. plt.title('XX事件数周分布')
  11. plt.legend(loc='upper right')
  12. plt.xticks(range(0,7),['星期日','星期一','星期二','星期三','星期四','星期五','星期六'])
  13. plt.show()

7.读取类别频数数据画水平条形图

  1. data_bar = pd.read_csv('data_bar.txt')
  2. label = data_bar['wfxw'].T.values
  3. xtop = data_bar['nums'].T.values
  4. idx = np.arange(len(xtop))
  5. fig = plt.figure(figsize=(12,12))
  6. plt.barh(idx, xtop, color='b',alpha=0.6)
  7. plt.yticks(idx+0.4,label)
  8. plt.grid(axis='x')
  9. plt.xlabel('XX事件次数')
  10. plt.ylabel('XX事件名称')
  11. plt.title('2015.1-2016.11月XX事件排行榜')
  12. 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. web相关文件加载顺序

    WEB相关文件的加载顺序   一. 1.启动一个WEB项目,WEB容器会先去读取它的配置文件web.xml,读取<context-param>和<listener>两个节点. ...

  2. Java类和对象详解,以及相关知识点

    了解类和对象前,简单提及面向对象程序设计.面向对象程序设计就是通过对象来进行程序设计,对象表示一个可以明确标识的实体.例如:一个人.一本书.一个学校或一台电脑等等.每个对象都有自己独特的标识.状态和行 ...

  3. linux 学习第十六天(Samba配置)

    Samba 服务 yum install samba mv smb.conf smb.conf.bak cat smb.conf.bak | grep -v "#" | grep ...

  4. Spring 约束文件配置

    1.引入jar包 2.新建applicationContext.xml配置文件 位置随意,建议放在src目录下 新建的空xml文件,写入一对beans标签 3.打开Windows-->Prefe ...

  5. Windows Redis 取消保护模式C#进行访问

    运行redis服务程序和客户端程序设置即可. config set protected-mode “no”

  6. 面试:HashSet怎么判断重复

    HashSet是基于HashMap实现的,元素的值存储在key上,value的值所有元素都一样,都是这个 private static final Object PRESENT = new Objec ...

  7. Linux多进程CS服务器简单测试

    Linux多进程CS服务器简单实现 server端 多进程实现多用户连接,即每个用户一个连接,这里仍然用server将收到的字符串转大写后返回给客户端. 代码实现 #include <stdio ...

  8. GCC编译器基础入门

    导语 GCC(GNU Compiler Collection,GNU 编译器套件) 是由 GNU 开发的编程语言编译器,支持C.C++.Objective-C.Fortran.Java.Ada和Go语 ...

  9. Zeta--S3 Linux抓取一帧YUV图像后使用硬件编码器编码成H.264

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <getopt.h&g ...

  10. 浏览器窗口输入网址后发生的一段事情(http完整请求)

    1.DNS查询得到IP 输入的是域名,需要进行dns解析成IP,大致流程: 如果浏览器有缓存,直接使用浏览器缓存,否则使用本机缓存,再没有的话就是用host 如果本地没有,就向dns域名服务器查询(当 ...