Python 数据可视化之Matplotlib详解


Posted in Python onNovember 02, 2021

在深入研究这些库之前,首先,我们需要一个数据库来绘制数据。我们将在本完整教程中使用 tips database。让我们讨论一下这个数据库的简介。

使用的数据库

tips 数据库

tips 数据库是20世纪90年代初期顾客在餐厅的两个半月的小费记录。它包含 6 列,例如 total_bill、tip、sex、smoker、day、time、size。

您可以从这里下载 tips 数据库

例子:

import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")
# 打印前 10 行
print(data.head(10))

输出:

Python 数据可视化之Matplotlib详解

Matplotlib

Matplotlib 是一个易于使用的低级数据可视化库,它构建在 NumPy 数组上。它由散点图、线图、直方图等各种图组成。 Matplotlib 提供了很大的灵活性。

要安装此库,请在终端中输入以下命令。

pip install matplotlib

Python 数据可视化之Matplotlib详解

安装 Matplotlib 后,让我们看看使用这个库最常用的绘图。

散点图

散点图用于观察变量之间的关系,并用点来表示它们之间的关系。matplotlib 库中的scatter()方法用于绘制散点图。

例子:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据库
data = pd.read_csv("tips.csv")
# day 对 tip 的散点图
plt.scatter(data['day'], data['tip'])
# 为 Plot 添加标题
plt.title("Scatter Plot")
# 设置 X 和 Y 标签
plt.xlabel('Day')
plt.ylabel('Tip')
plt.show()

输出:

Python 数据可视化之Matplotlib详解

如果我们可以添加颜色并更改点的大小,则此图会更有意义。我们可以通过分别使用 scatter 函数的c 和 s参数来做到这一点。我们还可以使用colorbar()方法显示颜色条。

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据库
data = pd.read_csv("tips.csv")
# day对tip的散点图
plt.scatter(data['day'], data['tip'], c=data['size'],
			s=data['total_bill'])
# 为Plot添加标题
plt.title("Scatter Plot")
# 设置 X 和 Y 标签
plt.xlabel('Day')
plt.ylabel('Tip')
plt.colorbar()
plt.show()

Python 数据可视化之Matplotlib详解

折线图

折线图用于表示不同轴上两个数据 X 和 Y 之间的关系。它是使用plot() 函数绘制的。让我们看看下面的例子。

例子:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据库
data = pd.read_csv("tips.csv")
# day对tip的折线图
plt.plot(data['tip'])
plt.plot(data['size'])
# 为Plot添加标题
plt.title("Scatter Plot")
# 设置 X 和 Y 标签
plt.xlabel('Day')
plt.ylabel('Tip')
plt.show()

输出:

Python 数据可视化之Matplotlib详解

条形图

柱状图或叫条形图是表示与长度和高度的矩形条数据的类别是正比于它们所代表的值的图。它可以使用bar()方法创建。

例子:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据库
data = pd.read_csv("tips.csv")
# day对tip的条形图
plt.bar(data['day'], data['tip'])
plt.title("Bar Chart")
# 设置 X 和 Y 标签
plt.xlabel('Day')
plt.ylabel('Tip')
# 添加图例
plt.show()

输出:

Python 数据可视化之Matplotlib详解

直方图

直方图基本上是用来在一些基团的形式来表示数据。它是一种条形图,其中 X 轴表示 bin 范围,而 Y 轴提供有关频率的信息。的HIST()函数用于计算和创建直方图。在直方图中,如果我们传递分类数据,那么它将自动计算该数据的频率,即每个值出现的频率。

例子:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据库
data = pd.read_csv("tips.csv")
# total_bill直方图
plt.hist(data['total_bill'])
plt.title("Histogram")
# 添加图例
plt.show()

输出:

Python 数据可视化之Matplotlib详解

以上是关于 Matplotlib 使用 Python 进行数据可视化的全部示例,下一节我们来谈谈 Seaborn

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
用Python进行基础的函数式编程的教程
Mar 31 Python
用Python代码来绘制彭罗斯点阵的教程
Apr 03 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
python 进程池pool使用详解
Oct 15 Python
python安装第三方库如xlrd的方法
Oct 31 Python
python asyncio 协程库的使用
Jan 21 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 Python
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
Python Django获取URL中的数据详解
Nov 01 #Python
You might like
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
Python实现多进程的四种方式
2019/02/22 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
Python Collatz序列实现过程解析
2019/10/12 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
基于python实现操作git过程代码解析
2020/07/27 Python
python 批量将中文名转换为拼音
2021/02/07 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
应届医学毕业生求职信分享
2013/12/02 职场文书
厂区绿化方案
2014/05/08 职场文书
食品工程专业求职信
2014/06/15 职场文书
运动会演讲稿100字
2014/08/25 职场文书
村安全生产责任书
2014/08/25 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
高一化学教学反思
2016/02/22 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
OpenCV全景图像拼接的实现示例
2021/06/05 Python
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
利用Python实时获取steam特惠游戏数据
2022/06/25 Python