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中使用matplotlib模块绘制数据图的示例
May 04 Python
详解Python中的变量及其命名和打印
Mar 11 Python
Python实现线程状态监测简单示例
Mar 28 Python
pandas表连接 索引上的合并方法
Jun 08 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
python动态视频下载器的实现方法
Sep 16 Python
Python函数的默认参数设计示例详解
Dec 01 Python
使用TFRecord存取多个数据案例
Feb 17 Python
Python如何输出警告信息
Jul 30 Python
基于python实现操作redis及消息队列
Aug 27 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 随机生成10位字符代码
2009/03/26 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
PHP实现八皇后算法
2019/05/06 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
Expandable "Detail" Table Rows
2007/08/29 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
JS中图片压缩的方法小结
2017/11/14 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
深入理解Python中的*重复运算符
2017/10/28 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python3爬取torrent种子链接实例
2020/01/16 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
地质灾害防治方案
2014/05/14 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
技术员个人工作总结
2015/03/03 职场文书
学校百日安全活动总结
2015/05/07 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers