Matplotlib学习笔记1

Posted ticmis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib学习笔记1相关的知识,希望对你有一定的参考价值。

Matplotlib学习笔记1 - 上手制作一些图表吧!

Matplotlib是一个面向Python的,专注于数据可视化的模块。

快速上手

这是使用频率最高的几个模块,在接下来的程序中,都需要把它们作为基础模块

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

第一个图表

使用pyplot.plot函数,可以在坐标轴上画一条曲线。

plt.plot([1,2,3,4],[2,1,3,4])
plt.show()

让图表变得更加可读

使用pyplot.xlabelpyplot.ylabel可以给图表的x轴与y轴进行标注;使用pyplot.title给图表起一个标题。在这个例子中,分别绘制了两次曲线,分别标注为了\'original\'和\'cos\',使用pyplot.legend可以为图表增加一个图例。

# Generate some data
x=np.arange(0,10,0.2)
y=np.cos(x)


# Plot the figure
plt.plot(x,x,\'r-\',label=\'original\')
plt.plot(x,y,\'b-\',label=\'cos\')

# Some decoration
plt.xlabel(\'Enter a\')
plt.ylabel(\'Enber b\')
plt.title(\'My first chart\')
plt.legend()

plt.show()

图表的组成部分

这是一个Matplotlib图表的组成示意图。

Figure: Figure囊括了整个图表(包括曲线啦~标题啦~坐标之类的),它有若干下属Axes子类

Axes:Axes是Figure的附属子类,包含了作图的区域。一般来说每个Axes会包含2个Axis类,在三维图中则含有3个。

绘制函数所支持的输入数据类型

并不是所有的数据都能顺利地被pyplot的绘制函数识别并绘成图表。一般来说函数支持numpy.arraynumpy.ma.masked_array,或者可以被numpy.asarray转化(例如numpy.matrix)的数据类别。

Pyplot也支持通过一个“字典”来存储并运用数据,只需要在绘制函数中给出data关键字的参数,就可以通过字典的key,将字典中的数据导入绘制函数中。在下面的例子中,我们把各种变量存在\'data\'字典中,并通过下标来引用在在字典中的数据。

data = \'a\': np.arange(50),
        \'c\': np.random.randint(0, 50, 50),
        \'d\': np.random.randn(50)
data[\'b\'] = data[\'a\'] + 10 * np.random.randn(50)
data[\'d\'] = np.abs(data[\'d\']) * 100

fig, ax = plt.subplots(figsize=(5, 2.7), layout=\'constrained\')
ax.scatter(\'a\', \'b\', c=\'c\', s=\'d\', data=data)
ax.set_xlabel(\'entry a\')
ax.set_ylabel(\'entry b\')

代码风格

显式交互与隐式交互

我们有两种不同的方式(或者说是两种不同的风格,因为本质上它们没有很大的区别)来与Matplotlib交互:

  • 显式交互(Explicit interface)

显式地申明Figure与Axes变量,并通过它们调用函数(“面向对象” object-oriented 风格)

  • 隐式交互(Implicit interface)

通过pyplot模块间接创建Figure和Axes,并用pyplot函数来绘图

以上是关于Matplotlib学习笔记1的主要内容,如果未能解决你的问题,请参考以下文章

机器学习Matplotlib 快速入门笔记

Python matplotlib绘图学习笔记

matplotlib模块学习笔记

numpy & pandas & matplotlib 学习笔记

matplotlib学习笔记

Python matplotlib笔记