适合小白的Matplotlib基本使用

这篇博客详细介绍了matplotlib的三层结构:容器层、图像层和辅助显示层,并通过实例讲解了如何绘制折线图,包括添加辅助线、设置中文显示、添加网格线、在同一坐标系中绘制多条折线图、面向对象的画图方法,以及绘制条形图。此外,还简要提及了常见图像的种类和绘制方法。
摘要由CSDN通过智能技术生成

1、matplotlib三层结构

程序画图,也和我们手工画图一样,要有画板、画布、画图的工具等。所以我们学matplotlib画图之前,需要知道这个包是怎么划分这些结构的。下面看看matplotlib的三层结构:

在这里插入图片描述
(1)容器层:最下面的一层,其实就是画板、画布等等;
(2)图像层:根据数据绘制出来的图像;
(3)辅助层:如坐标轴、坐标轴的名称、网格线、图例、边框线、标题等。
在这里插入图片描述

下面看看matplotlib是怎么实现的:

1.1 容器层

在这里插入图片描述
作用:
在这里插入图片描述

1.2 图像层

在这里插入图片描述

1.3 辅助显示层

在这里插入图片描述

这三层结构理解了之后,我们接下来通过实际的例子来说明:

2、折线图

2.1 绘制基本折线图

案例:绘制2020年4月1日—2020年4月5日中国新增确诊病例的折线图。
数据:
time = [‘20200401’, ‘20200102’, ‘20200403’, ‘20200404’, ‘20200405’]
china = [93, 78, 73, 55, 75]

在这里插入图片描述

代码:

import matplotlib.pyplot as plt

# 1.准备数据
time = ['20200401', '20200102', '20200403', '20200404', '20200405']
china = [93, 78, 73, 55, 75]

# 2.创建画布
plt.figure(figsize=(5, 4), dpi=600)  # figsize:调整画布的大小,dpi:分辨率

# 3.绘制折线图
plt.plot(time, china)  # 两个参数:第一个相当于x轴,第二个相当于y轴

# 4.展示
plt.show()

结果:

在这里插入图片描述

2.2 添加辅助线

在这里插入图片描述
实现代码:

import matplotlib.pyplot as plt


# 显示中文
font = {
   'family':'SimHei', 'weight':'bold', 'size':'16'}
plt.rc('font', **font)               # 步骤一(设置字体的更多属性)
plt.rc('axes', unicode_minus=False)  # 步骤二(解决坐标轴负数的负号显示问题)

# 1.准备数据
time = ['20200401', '20200102', '20200403', '20200404', '20200405']
china = [93, 78, 73, 55, 75]

# 2.创建画布
plt.figure(figsize=(5, 4), dpi=100)  # figsize:调整画布的大小,dpi:分辨率

# 3.绘制折线图
plt.plot(time, china)

# 添加辅助显示层
# 添加x轴,y轴的刻度
xticks = ['4月1日', '4月2日', '4月3日', '4月4日', '4月5日',]  # 这个变量名字可以变
plt.xticks(time, xticks)  # 由于原来的time是字符串形式的,所以要传,保证对应
yticks = range(0, 101, 10)
plt.yticks(yticks)  # china是数值形式,不用传
# 添加x轴,y轴的名称
plt.xlabel('时间')
plt.ylabel('新增确诊数量')
# 设置标题
plt.title('4月1日-4月5日新增数量')

# 4.展示
plt.show()

结果:

在这里插入图片描述

(1)解决matplotlib中文问题:

如果不设置,中文就会显示为下面这样:
在这里插入图片描述
那怎么解决呢?接着看:

(1) 下载SimHei字体(或者其他支持中文显示的字体也可以):

https://pan.baidu.com/s/1GPh8vhn7ZsXfxv6zA4RWzQ

(2) 查看配置文件位置:

import matplotlib 
print(matplotlib.matplotlib_fname)  # 我的为D:\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc

(3) 将下载的SimHei.tff文件复制到

mpl-data目录下\font\tff

(4) 进入上述的目录,修改配置文件matplotlibrc,在尾部追加如下内容:

font.family	:sans-serif
font.sans-serif	:SimHei
axes.unicode_minus	:False

(5) 删除matplotlib中的缓存文件(

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值