数据可视化(一)-Matplotlib简易入门
本节的内容来源: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简易入门的更多相关文章
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- python的数据可视化库 matplotlib 和 pyecharts
Matplotlib大家都很熟悉 不谈. ---------------------------------------------------------------------------- ...
- python 数据可视化(matplotlib)
matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...
- 学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)
前言 前面两篇文章介绍了 python 中两大模块 pandas 和 numpy 的一些基本使用方法,然而,仅仅会处理数据还是不够的,我们需要学会怎么分析,毫无疑问,利用图表对数据进行分析是最容易的, ...
- d3.js:数据可视化利器之快速入门
hello,data! 在进入d3.js之前,我们先用一个小例子回顾一下将数据可视化的基本流程. 任务 用横向柱状图来直观显示以下数据: var data = [10,15,23,78,57,29,3 ...
- 绘图和数据可视化工具包——matplotlib
一.Matplotlib介绍 Matplotlib是一个强大的Python**绘图**和**数据可视化**的工具包. # 安装方法 pip install matplotlib # 引用方法 impo ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- 数据可视化之Matplotlib的使用
1.什么是数据可视化 数据可视化在量化分析当中是一个非常关键的辅助工具,往往我们需要通过可视化技术,对我们的数据进行更清晰的展示,这样也能帮助我们理解交易.理解数据.通过数据的可视化也可以更快速的发现 ...
- Python数据可视化之Matplotlib实现各种图表
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...
随机推荐
- HFile解析 基于0.96
什么是HFile HBase.BigTable以及其他分布式存储.查询系统的底层存储都采用SStable的思想,HBase的底层存储是HFile,他要解决的问题就是如果将内容存储到磁盘,以及如何高效的 ...
- DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanRegistry
// 用于内部标记的空的单例对象(不支持null)protected static final Object NULL_OBJECT = new Object(); // 缓存单例对象根据beanNa ...
- 两个数据库表同步的可视化WEB同步程序
因业务升级,现有一个数据库中的表需要与先前项目中的表进行数据同步,停用先前的表,这两个表只能按其中相同的一个字段同步,认真研究了一下,用WEB程序进行了处理,可视化显示处理进度,同步操作结果.使用到的 ...
- SpringMVC中使用Jcaptcha实现校验码验证
SpringMVC中使用Jcaptcha实现校验码验证:http://www.tuicool.com/articles/rMzAFj 本文将使用Jcaptcha实现校验码验证,并演示在Spring/S ...
- Web系统大规模并发----电商秒杀与抢购
原文链接请参见:http://uule.iteye.com/blog/2186786
- hdu 4325 树状数组+离散化
思路:这题的思路很容易想到,把所有时间点离散化,然后按时间一步一步来,当到达时间i的时候处理所有在i处的查询. 这个代码怎一个挫字了得 #include<iostream> #includ ...
- 转:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 .
近期在做淘宝客的项目,大家都知道,淘宝的商品详细描述字符长度很大,所以就导致了今天出现了一个问题 VS的报错是这样子的 ” 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确“ 还说某 ...
- 安装SqlServer2008时相关问题
在安装SqlServer2008时,安装程序支持规则,老提示重启计算机 1,运行 regedit 打开注册表编辑器. 2,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ...
- 【Knockout】五、创建自定义绑定
概述 除了上一篇列出的KO内置的绑定类型(如value.text等),你也可以创建自定义绑定. 注册你的binding handler ko.bindingHandlers.yourBindingNa ...
- Android drawable xml 各种小知识
摘抄自网络. 圆角或者各种变种背景, <?xml version="1.0" encoding="utf-8"?> <shape xmlns: ...