考虑我有一维数组X =([1,2,3]),对于X中的每个元素,我们都有一个相应的2D图。
例如,我们有一个函数z = f(y,X),而X是这个函数的一个参数,当我们从X得到一个不同的值时,我们有一个不同的2D图。
所以我想做的是将它绘制在一个图中,它是一种3D图,我们有三个轴,一个是X,一个是y,一个是z = f(y,X),所以如何绘制这个数字?
谢谢。 PS:我上传了一张照片。我想要绘制的是这种形象。
答案 0 :(得分:0)
创建子图网格应该有所帮助:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)-5
Ys = np.array([x**i for i in range(5)])
plt.figure(figsize=(12, 2))
for i, y in enumerate(Ys):
plt.subplot(1, len(Ys), i+1)
plt.plot(x, y)
plt.title('x^%d' % i)
plt.tight_layout()
我在示例中使用了plt.tight_layout()
,但您可能需要考虑删除它并使用plt.subplots_adjust
来代替。 x-labels(x ^ 0,x ^ 1等)在我的示例中通过为每个子图提供标题来放置,但您可能需要考虑使用plt.figtext()
手动将它们放在您想要的确切位置。最后,检查http://matplotlib.org/users/gridspec.html是否有更酷的子情节安排。