matplotlib 子图超过4个_Matplotlib数据可视化

8c3f26a5181aeefe551e6a025b7beec7.png

1.Matplotlib介绍

什么是Matplotlib

Matplotlib是一个Python的绘图库,它可与 NumPy 一起使用,可以代替M

Matplotlib安装

由于Matplotlib是第三方库,所以我们需要安装它才可以使用。注意,Matplotlib3.0要求python3版本才可安装使用。

安装命令:pip install matplotlib

安装可参考官网:https://matplotlib.org/users/installing.html

2.使用matplotlib绘图

使用plt.figure生成一张新的画布

9a302fca59c516d7c636b268d9b20e1d.png

注意

  • 在IPython中,执行该代码一个空白的绘图窗口就会出现,但在Jupyter中则没有任何显示

但是可以通过fig.add_subplot创建一个或多个子图。

如:带有四个子图的空白Matplotlib图片

e14fcf31ee8cfd27e62191d8205b535b.png

除此之外,Matplotlib包含一个便捷方法plt.subplots创建一个新的图片,然后返回包含了已生成子图对象的Numpy数组。

  • plt.subplots(nrows, ncols, sharex, sharey)
    • nrows子图的行数
    • ncols子图的列数
    • sharex 所有子图使用相同的x轴刻度
    • sharey 所有子图使用相同的y轴刻度

ecd521cd287f5d9fcb28ffebaeba718a.png

那么实际上,当我们不需要使用子图时,可以通过plt对象直接绘制图形。

3.使用matplotlib绘制折线图

折线图可以通过plot()函数来绘制

  • plt.plot(x, y) # 使用默认的线样式及颜色绘制x,y构建的图形

1d0fb99d767569bf09e3b6bcb122d75e.png

并且,plt.plot()函数除了传入制图数据,还可以设置线的颜色等。

  • color 设置线的颜色
  • linestyle 设置线的样式
  • marker 标记样式

ac322c4d039946bf510bb58be9e6a2a0.png

plt.plot()参数使用具体可参考:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot

图形组成

实际上,图形的组成除了x,y轴。还有很多组件。如下图

a6e5ec259474da5f8d10f913d95976f4.png

常用的plt方法

plt.figure(figsize=None,dpi=None) #生成新的图片,figsize:图片大小,dpi:透明度

plt.savefig(fname) #保存图片

plt.xticks(ticks=None) #设置x轴刻度的值

plt.yticks(ticks=None) #设置y轴刻度的值

plt.xlabel(xlabel) #设置x轴标签

plt.ylabel(ylabel) #设置y轴标签

plt.title() #设置图标题

plt.grid() #根据x轴和y轴的数值展示轴网格

中文显示问题

当我们需要设置轴标签,标题等,通常会使用到中文。但是,matplotlib默认不显示中文,如图:

bfa96668f61d3a4f9e7935521b566ded.png

解决方法
方法一

import 

方法二

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties 
font = FontProperties(fname=r"c:windowsfontssimsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]

plt.plot(x,y)
plt.xlabel("x轴标签",fontproperties=font)
plt.show()

练习

如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况

练习

假设大家在30岁的时候,根据自己的实际情况,统计出来了你和同桌从11岁到30岁每年交的男女朋友的数量如列表a和b,请绘制出该数据的折线图,以便分析自己和同桌每年交男女朋友的数量走势

a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]

b = [1,0,3,1,2,2,2,3,1,1,1,1,1,2,1,1,2,3,2,2]

要求:

  • y轴表示个数
  • x轴表示岁数,比如11岁,12岁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值