Matplotlib模块入门(直线图、折线图、曲线图、散点图)

举报
tea_year 发表于 2025/04/14 17:20:55 2025/04/14
【摘要】 Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。

使用图表来表示数据时,我们可以更有效地分析数据,并根据分析做出相应的决策。在学习 Matplotlib 之前,了解什么是数据可视化!

数据可视化

图表为更好地探索、分析数据提供了一种直观的方法,它对最终分析结果的展示具有重要的作用。

当您对一个数据集进行分析时,如果使用数据可视化的方式,那么您会很容易地确定数据集的分类模式、缺失数据、离群值等等。下图展示了五个常用的数据可视化图表:

数据可视化应用场景

数据可视化主要有以下应用场景:

  • 企业领域:利用直观多样的图表展示数据,从而为企业决策提供支持;
  • 股票走势预测:通过对股票涨跌数据的分析,给股民提供更合理化的建议;
  • 商超产品销售:对客户群体和所购买产品进行数据分析,促使商超制定更好的销售策略;
  • 预测销量:对产品销量的影响因素进行分析,可以预测出产品的销量走势。

其实不管是在日常生活,还是工作中,我们都会根据过往的经验作出某些决定,这种做法也叫做“经验之谈”。数据分析和其类似,通过对过往数据的大量分析,从而对数据的未来走势做出预测。

Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂,深受广大技术爱好者喜爱。

一、Matplotlib简介

1. 什么是Matplotlib

Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。

2. Matplotlib的安装
  1. Windows 系统安装 Matplotlib,执行如下命令:
       pip install matplotlib

换源安装执行命令:

     pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

二、绘制基础

在使用Matplotlib绘制图形时,其中有两个最为常用的场景。一个是画点,一个是画线。pyplot基本方法的使用如下表。

2.1 绘制面板

#导入类库
import matplotlib.pyplot as plt
fig=plt.figure()
print(fig)

ax=fig.add_subplot(111)
ax.set(xlim=[0.5,4.5],ylim=[0,8],title='Example',ylabel='Y-Axis',xlabel='X-Axis')

plt.show()

2.2 绘制直方图

直方图与柱状图的分格类似,都是由若干个柱组成,但直方图和柱状图的含义却有很大的差异。直方图是用来观察分布状态的,而柱状图是用来看每一个X坐标对应的Y的值的。也就是说,直方图关注的是分布,并不关心具体的某个值,而柱状图关心的是具体的某个值。使用hist函数绘制直方图。

#直方图:柱状图
#饼图折线图;
import matplotlib.pyplot as plt
import numpy as np
#倒着来 理解;
data=[np.random.randint(0,n,n) for n in [3000,4000,5500]]
labels=['3K','4K','5K']
#数据
bins=[0,100,500,500,1000,3000,4000,5000]
#hist()绘制直方图的函数pie()函数;
plt.hist(data,bins=bins,label=labels)

plt.legend()
plt.show()

2.3 绘制散点图

使用scatter函数可以绘制随机点,该函数需要接收x坐标和y坐标的序列。

#matplotlib的随机点的绘图
import matplotlib.pyplot as plt

#scatter()绘制 散列点并设置样式
#scatter(x,y) x y轴坐标

plt.scatter(2,4)
plt.show()

进一步升级,绘制一系列的散点

#描述一系列的点
squares=[1,2,4,8,9,10]
#plot()函数根据一系列的数字,绘制有意义的图形
plt.plot(squares)
#show()打开matplotlib的查看器并显示绘制的图形
plt.show()

绘制没有折现的散点图

#自己来设置x,y轴坐标的数据
x_values=[1,2,4,8,20,30]
y_values=[2,4,8,16,20,33]

plt.scatter(x_values,y_values)

#给绘图表设置标题并加上标签

plt.title("Square Numbers",fontsize=24)
plt.xlabel("value",fontsize=14)
plt.ylabel("Square of value",fontsize=14)

#设置标记客户都的大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show()

注意:这里生成的点的大小个数和颜色个数必须要与点的个数相同

作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。

字符

描述

‘-’

实线样式

‘–’

短横线样式

‘-.’

点划线样式

‘:’

虚线样式

‘.’

点标记

‘,’

像素标记

‘o’

圆标记

‘v’

倒三角标记

‘^’

正三角标记

‘1’

下箭头标记

‘2’

上箭头标记

‘3’

左箭头标记

‘4’

右箭头标记

‘s’

正方形标记

‘p’

五边形标记

‘*’

星形标记

‘h’

六边形标记 1

‘H’

六边形标记 2

‘+’

加号标记

‘x’

X 标记

‘D’

菱形标记

‘d’

窄菱形标记

‘_’

水平线标记

以下是颜色的缩写:

字符

颜色

‘b’

蓝色

‘g’

绿色

‘r’

红色

‘c’

青色

‘m’

品红色

‘y’

黄色

‘k’

黑色

‘w’

白色

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。