Matplotlib绘图入门(1)

绘图结构基础概念

Figure:相当于“画布”。包含所有的子 Axes(有时候不止一个坐标系)。

Axes:一套坐标轴,相当于“坐标系”/子图。当只有一个 Axes 的时候,plt.plot()ax.plot() 是在同一个图形上绘图;当有多个 Axes 的时候,最好采用 ax.plot() 绘图。

Axis:坐标轴。包含刻度(tick)标签(label)

Artist:figure 上所有的对象内容。所有 artist 属性都可以用 ax.set_xxxax.get_xxx 来设置和获取。

Matplotlib绘图入门(1)_第1张图片Matplotlib绘图入门(1)_第2张图片

图片来源:(旧版)Usage — Matplotlib 1.5.1 documentation;(新版)Quick start guide — Matplotlib 3.6.2 documentation;建议自己查看原文档的英文理解。

编码样式

Matplotlib绘图入门(1)_第3张图片

面向对象(OO)样式(推荐使用)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)  # 0-2之间取100个点

# Note that even in the OO-style, we use `.pyplot.figure` to create the Figure.
fig, ax = plt.subplots() # 生成带有一个Axes的figure
ax.plot(x, x, label='linear')  # Plot some data on the axes.
ax.plot(x, x**2, label='quadratic')  # Plot more data on the axes...
ax.plot(x, x**3, label='cubic')  # ... and some more.
ax.set_xlabel('x label')  # Add an x-label to the axes.
ax.set_ylabel('y label')  # Add a y-label to the axes.
ax.set_title("Simple Plot")  # Add a title to the axes.
ax.legend()  # Add a legend.图内左上角的示意图
plt.show()

pyplot 样式(方便快捷)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)  # 0-2之间取100个点

plt.figure()	# 只生成一个figure
plt.plot(x, x, label='linear')  # Plot some data on the (implicit) axes.
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()

用法参考

参考:Python–Matplotlib(基本用法);

参考:Matplotlib 整合与细节操作(样式、图例、风格、轴线、网格);

你可能感兴趣的:(python,疑难杂症,python)