如何在一个图中构建两个图,模块 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 plotly 中覆盖同一图中的两个图(在 plotly 中创建帕累托图)?