Matplotlib库的使用—初相识

有关Python的进阶,数据可视化开篇!内容为关于Matplotlib库的使用。

之前入门阶段发过几篇练题篇,有人私信询问入口链接,在这里点击蓝色字即可进入

点击这里开始练题

关于Matplotlib的学习,资源为开源内容,通过Datawhale组队学习获取,发布内容为个人笔记

第一回:Matplotlib初相识

一、认识Matplotlib

Matplotlib是一个Python2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态、动态、交互式的图表

可用于Python脚本,Python和IPython Shell、Jupyter notebook,Web应用程序服务器和各种图形用户界面工具包等。

二、一个最简单的绘图例子

Matplotlib的图像是画在figure(如Windows、jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。最简单的创建figure以及axes的方式是通过pyplot.subplots命令,创建axes以后,可以使用Axes.plot回执最简易的折线图。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

fig, ax = plt.subplots()              #创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])      #绘制图像
plt.show()

Tick:在jupyter notebook中使用Matplotlib时会发现代码运行后会自动打印出类似<matplotlib.lines.line2p at 0x23155916dco>这样一段话。

 

这是因为matplotlib的绘图默认打印出最后一个对象。解决方法:

1> 在代码块最后加入一个分号

2> 在代码块最后加一句plt.show()

3> 在绘图时将绘图对象显式赋值给一个变量如将plt.plot([1,2,3,4])改成line=plt.plot([1,2,3,4])

运行:

 三、Figure的组成

一个完整的Matplotlib图像通常会包括四个层级,也称容器。

Figure:顶层级,用来容纳所有绘图元素

Axes:Matplotlib宇宙的核心。容纳了大量元素用来构造一幅子图,一个Figure可以由一个或多个子图组成

Axis:axis的下属层级,用来处理所有和坐标轴。网格有关的元素

Tick:axis的下属层级,用来处理所有和刻度有关的元素

四、两种绘图接口

1.显式创建figure和axes

在上面调用绘图方法,也被称为OO模式(object-oriented style)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)
fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.plot(x, x ** 2, label='quadratic')
ax.plot(x, x ** 3, label='cubic')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
plt.show()

 

2.依赖pyplot自动创建figure和axes

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x ** 2, label='quadratic')
plt.plot(x, x ** 3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
plt.show()

 

五、通用绘图模板

任何复杂的图表几乎都可以基于这个模板骨架填充内容而成

#step1
x = np.linspace(0,2,100)
y = x ** 2

#step2   设置绘图样式,这一模块的扩展参考第五章进一步学习,这一步不是必须的,样式也可以在绘制图像时进行设置
mpl.rc('line',linewidth = 4,linestyle = '-.')

#step3   定义布局,这一模块的扩展参考第三章进一步学习
fig,ax = plt.subplots()

#step4   绘制图像,这一模块的扩展参考第二章进一步学习
ax.plot(x,y,label = 'linear')

#step5   添加标签、文字、和图例,这一模块的扩展参考第四章进一步学习
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot)
ax.legend()
plt.show()

 

进阶内容有困难的同学,建议先巩固入门基础,可以点击这里进行练习

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Outlier_9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值