Python绘图工具Matplotlib安装与使用,快速上手

简介: Python绘图工具Matplotlib安装与使用,快速上手

Matplotlib

1 什么是Matplotlib

Matplotlib 是一个用于绘制图表和可视化数据的 Python库。它提供了丰富的绘图工具,可以用于生成各种静态、交互式和动画图表。Matplotlib 是数据科学、机器学习和科学计算领域中最流行的绘图库之一。

是专门用于开发2D图表(包括3D图表)

以渐进、交互式方式实现数据可视化

对图像元素控制力强。

可输出PNG、PDF、SVG和EPS等多种格式

2 为什么要学习Matplotlib

可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。

  • 能将数据进行可视化,更直观的呈现
  • 使数据更加客观、更具说服力

例如下面两个图为数字展示和图形展示:

3 实现Matplotlib画图 — 折线图

3.1 matplotlib.pyplot模块

导包

matplotlib.pytplot包含了一系列类似于matlab的画图函数。

import matplotlib.pyplot as plt

3.2 图形绘制流程

1.创建画布 – plt.figure()

plt.figure(figsize=(), dpi=)

figsize: 指定图的长宽

dpi: 图像的清晰度,0-1清晰度逐渐增大

返回fig对象


2.绘制图像 – plt.plot(x, y)

以折线图为例


3.显示图像 – plt.show()

3.3 折线图绘制与显示

案例:展现上海一周的天气,比如从星期一到星期日的天气温度如下**

import matplotlib.pyplot as plt

# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2.绘制折线图
plt.plot([1, 2, 3, 4, 5, 6 ,7], [17,17,18,15,11,11,13])

# 3.显示图像
plt.show()

4 散点图绘制

散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。

特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

api:plt.scatter(x, y)

参数解释:

x,y分别是一组数据,可以用列表表示


案例:

需求:探究房屋面积和房屋价格的关系

房屋面积数据:

x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01, 20.67, 288.64,

163.56, 120.06, 207.83, 342.75, 147.9 , 53.06, 224.72, 29.51,

21.61, 483.21, 245.25, 399.25, 343.35]


房屋价格数据:

y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61, 24.9 , 239.34,

140.32, 104.15, 176.84, 288.23, 128.79, 49.64, 191.74, 33.1 ,

30.74, 400.02, 205.35, 330.64, 283.45]

140.32, 104.15, 176.84, 288.23, 128.79, 49.64, 191.74, 33.1 ,

30.74, 400.02, 205.35, 330.64, 283.45]

import matplotlib.pyplot as plt
import random

#设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字符集

plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示

# 0.准备数据
x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01,  20.67, 288.64,
       163.56, 120.06, 207.83, 342.75, 147.9 ,  53.06, 224.72,  29.51,
        21.61, 483.21, 245.25, 399.25, 343.35]
y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61,  24.9 , 239.34,
       140.32, 104.15, 176.84, 288.23, 128.79,  49.64, 191.74,  33.1 ,
        30.74, 400.02, 205.35, 330.64, 283.45]

# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2.绘制散点图
plt.scatter(x, y)

# 3.显示图像
plt.show()
可见,房屋价格和面积成正相关
在这里插入图片描述

5 柱状图绘制

可见,房屋价格和面积成正相关

5 柱状图绘制

柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中。

特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)

api:plt.bar(x, width, align=‘center’, **kwargs)

参数解读

Parameters:

x : 需要传递的数据

width : 柱状图的宽度

align : 每个柱状图的位置对齐方式

{‘center’, ‘edge’}, optional, default: ‘center’

**kwargs :

color:选择柱状图的颜色

案例:

需求-对比每部电影的票房收入

电影数据如下图所示:

准备数据

[‘雷神3:诸神黄昏’,‘正义联盟’,‘东方快车谋杀案’,‘寻梦环游记’,‘全球风暴’, ‘降魔传’,‘追捕’,‘七十七天’,‘密战’,‘狂兽’,‘其它’]

[73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]

绘制柱状图

代码:

import matplotlib.pyplot as plt
import random

#设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字符集

plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示

# 0.准备数据
# 电影名字
movie_name = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它']
# 横坐标
x = range(len(movie_name))
# 票房数据
y = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]

# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2.绘制柱状图
plt.bar(x, y, width=0.5, color=['b','r','g','y','c','m','y','k','c','g','b'])

# 2.1b修改x轴的刻度显示
plt.xticks(x, movie_name)

# 2.2 添加网格显示
plt.grid(linestyle="--", alpha=0.5)

# 2.3 添加标题
plt.title("电影票房收入对比",fontsize=25)

# 3.显示图像
plt.show()

6 饼状图绘制

饼图:用于表示不同分类的占比情况,通过弧度大小来对比各种分类。

特点:分类数据的占比情况(占比)

api:plt.pie(x, labels=,autopct=,colors)

参数解读

Parameters:

x:数量,自动算百分比

labels:每部分名称

autopct:占比显示指定%1.2f%%

colors:每部分颜色

案例:

import matplotlib.pyplot as plt
import random

#设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字符集

plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示

# 0.准备数据
#饼状图,只要给了数字,程序会自动计算占比
x = [1,2,3,4,5]
label = ['class1','class2','class3','class4','class5']

# 1.创建画布
plt.figure()

# 2.绘制图形
#autopct表示显示每部分占比
plt.pie(x,labels=label,autopct="%.2f%%")



# 3.显示图像
plt.show()

如果想实现饼状图某个部分被抽取出去,可以借助explode参数

创建一个列表,被抽取的部分对应的值写成非零,其他部分写成0即可 该字段的意思是被抽取的部分中心距离原点的距离

explode = [0,0,0.1,0,0]

#绘制图形

#autopct表示显示每部分占比

plt.pie(x,labels=label,autopct=“%.2f%%”,explode=explode)


相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
251 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
XML 数据格式 Python
Python实用记录(五):labelImg安装和使用-----看这篇就够了!
这篇文章介绍了在Windows 10系统中使用Anaconda3安装labelImg工具的方法,包括通过pip安装相关包和从GitHub下载配置,以及一些使用技巧,如修改预定义类别和自动保存功能。
181 3
|
6天前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
14天前
|
数据可视化 JavaScript 前端开发
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
43 5
|
1月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
191 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
65 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
18天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
39 5
|
22天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
24 2
|
22天前
|
C语言 开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第21天】在Python的世界里,代码的优雅与效率同样重要。列表推导式(List Comprehensions)作为一种强大而简洁的工具,允许开发者通过一行代码完成对列表的复杂操作。本文将深入探讨列表推导式的使用方法、性能考量以及它如何提升代码的可读性和效率。
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2