效果图

python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_数据可视化

绘制过程

首先说明,matplotlib中明确说明了,有两种作图方式:

  • 明确创建图形和轴,并在其上调用方法使用面向对象的方法(“object-oriented(OO)-style”)
  • 依靠pyplot自动创建和管理图形和轴,并使用pyplot函数进行绘图。

Matplotlib的文档和示例同时使用OO-style和pyplot-style方法,这两种方法效果是相同的。
您应该随意使用两者(但是,最好选择其中一种并坚持使用,而不是混合使用)。
通常,我们建议将pyplot-style限制为交互式绘图(例如,在Jupyter笔记本中),并建议使用OO-style进行非交互式绘图(在打算作为较大项目的一部分重用的函数和脚本中) 。

pyplot-style和OO-style各有好处多多查看官方教程学习使用方法

1.导入必要的包。Matplotlib.pyplot

import matplotlib.pyplot as plt

2.绘制一张空白图

fig, ax = plt.subplots()

plt.subplots()的作用是创建一个图或者一组子图返回值是Figureaxes.Axes。此处代码中

fig = Figure ax = axes.Axes

python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_取值范围_02


3.使用Axes.plot作图

fig, ax = plt.subplots() # 创建图实例
x = np.linspace(0,2,100) # 创建x的取值范围
y1 = x
ax.plot(x, y1, label='linear') # 作y1 = x 图,并标记此线名为linear

在图中作出python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_取值范围_03图像,代码中标记此线名为linear,不过这个时候label并不会显示

python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_plot_04


4.如法炮制在同一张图上绘制多条曲线。

fig, ax = plt.subplots() # 创建图实例
x = np.linspace(0,2,100) # 创建x的取值范围
y1 = x
ax.plot(x, y1, label='linear') # 作y1 = x 图,并标记此线名为linear
y2 = x ** 2
ax.plot(x, y2, label='quadratic') #作y2 = x^2 图,并标记此线名为quadratic
y3 = x ** 3
ax.plot(x, y3, label='cubic') # 作y3 = x^3 图,并标记此线名为cubic

python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_python_05

5.设置轴的名称和图名,并且显示。(完成)

fig, ax = plt.subplots() # 创建图实例
x = np.linspace(0,2,100) # 创建x的取值范围
y1 = x
ax.plot(x, y1, label='linear') # 作y1 = x 图,并标记此线名为linear
y2 = x ** 2
ax.plot(x, y2, label='quadratic') #作y2 = x^2 图,并标记此线名为quadratic
y3 = x ** 3
ax.plot(x, y3, label='cubic') # 作y3 = x^3 图,并标记此线名为cubic
ax.set_xlabel('x label') #设置x轴名称 x label
ax.set_ylabel('y label') #设置y轴名称 y label
ax.set_title('Simple Plot') #设置图名为Simple Plot
ax.legend() #自动检测要在图例中显示的元素,并且显示

plt.show() #图形可视化

python matplotlib 同一张图绘制多条曲线 matplotlib多条曲线挂一起_取值范围_06


使用这种方法可以在同一张图上做出想要的图形。这是我在matplotlib官网的教程中学到的,里面不光有教程还有大量的示例,感兴趣的同学建议多多去那里学习。

欢迎大家一起学习交流进步。

By:Ben


参考文献:
  1. matplotlab使用指南