本节的内容来源:https://www.dataquest.io/mission/10/plotting-basics

本节的数据来源:https://archive.ics.uci.edu/ml/datasets/Forest+Fires

原始数据展示(这张表记录了某个公园的火灾情况,X和Y代表的是坐标位置,area代表的是烧毁面积)

import pandas

forest_fires = pandas.read_csv('forest_fires.csv')

print(forest_fires.head(5))

 

在使用matplotlib库的时候,都会默认地缩写为plt

import matplotlib.pyplot as plt

一个作图的过程分为三步:

1.初始化绘图数据

2.作图

3.展示该图

 

散点图

使用matplotlib.pyplot.scatter()方法来做散点图,第一个参数作为x轴,第二参数作为y轴,注意两个参数都只能是列表数据或者Series

# 使用列表数据作为坐标轴

import matplotlib.pyplot as plt

weight = [600,150,200,300,200,100,125,180]

height = [60,65,73,70,65,58,66,67]

plt.scatter(height, weight)

plt.show()

# 使用Series作为坐标轴

#以风速数据(wind)作为x轴,烧毁面积(area)作为y轴,做出它们的散点图

plt.scatter(forest_fires["wind"], forest_fires["area"])

plt.show()

可以留意到上面的两张图都没有图标题,也没有横坐标和纵坐标的文字说明,可以通过几个函数来添加相应的信息:

  • title() -- 添加图的表题
  • xlabel() -- 添加x轴的文字说明信息
  • ylabel() -- 添加y轴的文字说明信息
plt.scatter(forest_fires['wind'], forest_fires['area'])

plt.title('Wind speed vs fire area')

plt.xlabel('Wind speed when fire started')

plt.ylabel('Area consumed by fire')

plt.show()

 

折线图

折线图使用matplotlib.pyplot.plot()函数来作图,参数的要求和上面的散点图一样,下面只举一个例子即可

# 使用列表数据作为坐标轴

age = [5, 10, 15, 20, 25, 30]

height = [25, 45, 65, 75, 75, 75]

plt.plot(age, height)

plt.title('Age vs Height')

plt.xlabel('age')

plt.ylabel('Height')

plt.show()

 

条形图

使用matplotlib.pyplot.bar()函数来绘制垂直型的条形图,参数要求同上,下面只举一个例子

# 现在要按月份统计烧毁的面积

# 先做一个透视图,计算每个月的烧毁面积

area_by_month = forest_fires.pivot_table(index="month", values="area", aggfunc=numpy.sum)

plt.bar(range(len(area_by_month)), area_by_month)

plt.title('Month vs Area')

plt.xlabel('month')

plt.ylabel('area')

plt.show()

一定要注意,上图中的X轴对应数字并不代表月份,因为area_by_month中的数据是无序的

 

使用matplotlib.pyplot.barh()函数来绘制水平型的条形图,注意:与bar()函数最大的不同是X轴和Y轴是颠倒过来的

plt.barh(range(len(area_by_month)), area_by_month)

plt.title('Month vs Area')

plt.xlabel('area')

plt.ylabel('month')

plt.show()

可以看到X轴与Y轴是颠倒过来的

 

使用不同的作图主题

可以选择使用不同的作图主题,使用style.use()函数即可

# 使用两种主题做一下对比

plt.style.use('fivethirtyeight')

plt.plot(forest_fires['rain'], forest_fires['area'])

plt.show()

plt.style.use('ggplot')

plt.plot(forest_fires['rain'], forest_fires['area'])

plt.show()

通常使用以下几种主题:

fivethirtyeight,ggplot,dark_background,bmh

数据可视化(一)-Matplotlib简易入门的更多相关文章

  1. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...

  2. python的数据可视化库 matplotlib 和 pyecharts

    Matplotlib大家都很熟悉    不谈. ---------------------------------------------------------------------------- ...

  3. python 数据可视化(matplotlib)

    matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...

  4. 学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)

    前言 前面两篇文章介绍了 python 中两大模块 pandas 和 numpy 的一些基本使用方法,然而,仅仅会处理数据还是不够的,我们需要学会怎么分析,毫无疑问,利用图表对数据进行分析是最容易的, ...

  5. d3.js:数据可视化利器之快速入门

    hello,data! 在进入d3.js之前,我们先用一个小例子回顾一下将数据可视化的基本流程. 任务 用横向柱状图来直观显示以下数据: var data = [10,15,23,78,57,29,3 ...

  6. 绘图和数据可视化工具包——matplotlib

    一.Matplotlib介绍 Matplotlib是一个强大的Python**绘图**和**数据可视化**的工具包. # 安装方法 pip install matplotlib # 引用方法 impo ...

  7. Python数据可视化库-Matplotlib(一)

    今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...

  8. 数据可视化之Matplotlib的使用

    1.什么是数据可视化 数据可视化在量化分析当中是一个非常关键的辅助工具,往往我们需要通过可视化技术,对我们的数据进行更清晰的展示,这样也能帮助我们理解交易.理解数据.通过数据的可视化也可以更快速的发现 ...

  9. Python数据可视化之Matplotlib实现各种图表

    数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...

随机推荐

  1. Java中数组的快排

    描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符.   输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成, ...

  2. python--json & pickle 模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  3. Direct3D-3 四元数

        其实本来这篇文章是打算接上篇的各种变化矩阵的推导了,想了想,还是先讲四元数吧.本人的文章并不会提到欧拉角,因为我自己没弄懂欧拉角的万向锁问题.     很多人学习数学时,会有这样一个疑惑,这东 ...

  4. python(1) - 数据类型和变量

    数据类型: 整数:就是整数,包括正整数,0,负整数 浮点数: 通俗点说,就是小数 长整数: 就是比较长的整型,通常后面会跟一个L 字符串: 字符串需要用""或''括起来.单引号和双 ...

  5. xmlns="http://schemas.xmlsoap.org/wsdl/",这是什么意思,我只知道:xmlns:xx=....,

    表示没有prefix,相当于你的xsi为空.这个很常用,后面就省得每行都要加一个前缀了. 解决方案 » "后面就省得每行都要加一个前缀了",意思是,后面的子元素如果没有名称空间前缀 ...

  6. ZOJ 3122 Sudoku

    Sudoku Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status ...

  7. centos下安装usb摄像头驱动

    centos安装在虚拟机下,win7下能正常使用摄像头. 虚拟机显示监测到摄像头,但驱动安装失败. terminal下输入yum install cheese,提示是否安装,输入y确认下载,大概100 ...

  8. android用异步操作AsyncTask编写文件查看器

    Activity程序 package com.example.fileasynctaskproject; import java.io.File; import java.util.ArrayList ...

  9. Sql server 查询

    --Student(S#,Sname,Sage,Ssex) 学生表 --Course(C#,Cname,T#) 课程表 --SC(S#,C#,score) 成绩表 --Teacher(T#,Tname ...

  10. Linux命令(1):cd命令

    1.作用:改变工作目录: 2.格式:cd  [路径]  其中的路径为要改变的工作目录,可为相对路径或绝对路径 3.使用实例:[root@www uclinux]# cd /home/yourname/ ...