Matplotlib--基本用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

matplotlib是Python数据可视化库中最基础、最常用的一种绘图工具,通常与数据分析模块pandas搭配使用,用于数据分析与展示,只需要几行代码就可以生成常见的图形表类型,直方图、折线图、散点图、饼图等等,有点类似于MATLAB的界面。

在这里插入图片描述

一些绘图的基本知识:

  • figure 是画布,可以绘制单个图也可以同时多个图
  • title 是画布最上方的标题,给图形起名字用
  • axis 是坐标轴 ,横轴xlabel(也就是我们常说的x轴),纵轴ylabel(也就是我们常说的x轴)
  • legend 是图例,图形代表哪些内容
  • grid 是网格,True显示网格
  • markers 是点的形状

提示:以下是本篇文章正文内容,下面案例可供参考

一、Matplotlib的安装

Matplotlib安装的前提必须是具有Python的环境(电脑安装有PyCharm或Anconda)。
安装方式:
打开cmd,在命令行输入如下代码然后回车:

pip install matplotlib

二、Matplotlib的具体使用

1.思维导图以及图表的基本组成部分

在这里插入图片描述
在这里插入图片描述

2.引入库

代码如下:

//anaconda中自带matplotlib库,通过如下导入即可
import matplotlib.pyplot as plt

3.选择绘图函数

不同的图形有不同函数名称,这里以plot函数(折线图)为例:
绘图语法(示例):

plt.plot(x,y,color,linestyle,marker,format_string, ...)

其中参数含义:
在这里插入图片描述
例如:

plt.plot(
    [1,2,3,4,5],#x轴
    [1,3,4,8,3],#y轴
    linestyle = '--',#线条样式ls
    marker = '*',#点样式
    c = 'black'#图形颜色
)

此处值得注意的是颜色color可以简写为c,线条样式可以简写为ls。
运行结果如下:
在这里插入图片描述

4.设置画布

要画图我们首先得有画布对吧,画布类似于我们画画的画板,画布决定了我们图形的大小默认的画布是白色,看不见其边界。
基本语法:

plot.figure(figsize,dpi,…)

figsize:画布大小,宽高,接收的是元组(a,b),a决定画布的长,b决定画布的高。
dpi:分辨率,像素密度
facecolor:背景颜色

#导入matplotlib.pyplot库
import matplotlib.pyplot as plt
plt.figure(figsize=(8,2),dpi=200)#画布的长和宽,像素
plt.plot([1,2],[1,3])#折线图(见后面内容)

在这里插入图片描述

5.设置坐标轴

坐标轴分为x轴和y轴,其中包容坐标轴标题,刻度,范围以及网格线,通过不同的函数控制坐标轴的设置。
Matplotlib库中通过不同的函数控制控制坐标轴的设置。
在这里插入图片描述

plt.rcParams['font.family'] = 'SimHei' # 解决中文乱码问题
plt.xlabel('x轴') # x坐标轴名称
plt.ylabel('y轴')
#plt.xticks([1,2,3]) # 设置x轴刻度
#plt.yticks([1,2,3])
plt.xlim(1,4) # 坐标轴范围
plt.ylim([1,5])
plt.grid() # 网格线
plt.show() # 显示图像

在这里插入图片描述

6.文本标签、标题和图例

可以在画布中任意位值一次性添加一个文本信息,其中主要的参数有三个(x,y,s)。
显示文本标签的基本语法:

plt,text(x,y,s, …)

在这里插入图片描述
值得注意的是,坐标如果设定有xticks、yticks标签,则指的不是标签,而是绘图时x、轴的原始值。

# 给折线图的点添加y值标签
# x = [1,2,3,4,5]
x = ['a','b','c','d','e']
y = [1,3,4,8,3]
plt.plot(['a','b','c','d','e'],[1,3,4,8,3],'o--')
#plt.plot(x,y,'o--')
for a,b in zip(x,y):
#     print(a,b)
    plt.text(a,b+0.2,f'{b}',ha='center') # 每次画一个点的y值

在这里插入图片描述
显示标题的基本语法:

plot.title(‘标题’)

显示图例的基本语法:

plot.legend(‘数据标签’,loc,fontsize, …)

loc参数:决定图例的位置,如"upper right"表示右上方
fontsize:设置字体大小
还有很多参数不一一列举

# 画图
plt.rcParams['font.family'] = 'SimHei' # 解决中文乱码
plt.figure(figsize=(12,4))#画布大小
plt.title('L4043号车单次行程的平均速度、峰值速度变化图')#标题
plt.xlabel('每次行程的启动时间')
plt.ylabel('速度km/h')
plt.plot(x,y1,'--o',y2,':*')
plt.xticks([0,20,40,60,80],rotation=15) # 只显示第1、41、81个刻度的值,刻度旋转显示
plt.legend(['平均速度','峰值速度'])#添加图例
plt.show()

在这里插入图片描述

如上的代码中需要数据的可以评论区留言。

6.常见的图形及绘制方法

在这里插入图片描述

柱形图

柱形图能够查看各项数据的大小差异
基本语法:

plt.bar(x,height,width, …)

在这里插入图片描述

可以通过多个plt.bar()绘制多重柱形图

饼图

饼图能够查看各项数据在总计中的占比情况
基本语法:

plt.pie(x,labels,radius,autopct …)

在这里插入图片描述

折线图

折线图能够查看时间序列数据的波动趋势
基本语法:

plt.plot(x,y,color,linestyle,marker,format_string, …)

在这里插入图片描述

散点图

散点图能够查看两个序列数据之间的相关关系
基本语法:

plt.scatter(x,y,s,c, …)

在这里插入图片描述

直方图

直方图能够查看序列数据的分布情况
基本语法:

plt.hist(x,bins,…)

在这里插入图片描述

同时绘制多张图

基本流程:

  1. 创建画布(只添加画布对象但是不做画布操作是无法显示图形的)
  2. 添加子图的逻辑(子图区域选择函数:plt.subplot( x , y , z)执行后会在画布中选定一个区域,由参数xyz决定)
  3. 绘制子图(绘制子图需要在执行完subplot函数后执行绘图的相关代码每次执行完一个subplot函数选择一个区域后执行绘图代码即可在该位置绘图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了matplotlib的使用,而python还提供了大量能使我们快速便捷地处理数据的函数和方法。以上如有不足或错误的地方请大家及时为我指正,谢谢啦!

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值