如何在一个图中构建两个图,模块 Matplotlib [重复]

Posted

技术标签:

【中文标题】如何在一个图中构建两个图,模块 Matplotlib [重复]【英文标题】:How build two graphs in one figure, module Matplotlib [duplicate] 【发布时间】:2022-01-18 18:59:50 【问题描述】:

如何根据以下等式在一个图中构建两个图形

    y = (x+2)^2 y = sin(x/2)^2

这是我的代码:

import matplotlib.pyplot as plt
import numpy as np
from math import sin

y = lambda x: sin(x / 2) ** 2
y1 = lambda x: (x + 2) ** 2

fig = plt.subplots()

x = np.linspace(-3, 3, 100)

plt.plot(x, y(x))
plt.plot(x, y1(x))

plt.show()

【问题讨论】:

您不能将 math 函数与 numpy 数组一起使用。请改用np.sin()。有关此问题的更多信息,请参阅here。 非常感谢 仅供参考,您的问题缺乏细节,即您的问题是什么。显然,您会收到一条错误消息 - 因此您应该在问题中指定错误消息。如您所见,人们对您的问题的解释不同(“为什么我会收到错误消息?”、“如何在一个图中绘制两个函数?”和“如何将函数绘制到子图中?”)。所有三种解释都是有效的,因此您必须确保说明您的问题。 【参考方案1】:

使用supplots 在您的图中制作 2 个轴:

import matplotlib.pyplot as plt
import numpy as np

fig, (ax1,ax2) = plt.subplots(nrows=2)

x = np.linspace(-3, 3, 100)

ax1.plot(x, np.sin(x / 2) ** 2)
ax2.plot(x, (x + 2) ** 2)

【讨论】:

以上是关于如何在一个图中构建两个图,模块 Matplotlib [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个 ggplot2 图中为两个几何图层添加图例?

如何在 plotly 中覆盖同一图中的两个图(在 plotly 中创建帕累托图)?

在同一个图中绘制两个图[重复]

如何在一个图中制作超过 10 个子图?

R 具有两个因子变量的堆积百分比条形图 - 如何在图中标记百分比,而不计算 NA?

如何在同一个面积图中绘制两个数据框并通过深色和浅色区分它们?