【问题标题】:Stack of 2D plot堆栈的 2D 绘图
【发布时间】:2012-04-24 17:31:19
【问题描述】:

我正在尝试使用 Python 和 Matplotlib 将具有不同 omega 值的 0

(类似这样的)

【问题讨论】:

  • 你有图片或图纸来展示你想要的结果吗?
  • 我是 Python 新用户。我不知道如何将 2D 绘图转换为 3D。感谢您的关注。
  • @Papiro 如果您是 python 和 matplotlib 的新手,请查看示例库 (matplotlib.sourceforge.net/gallery.html) 以找到与您想做的事情相近的内容。尝试调整示例并返回特定问题。我们都非常愿意提供帮助,但如果没有更多细节,这几乎是不可能的:“我试过......这是我的示例代码......为什么我没有得到......结果?”
  • @Yann 感谢您的 cmets。我正在尝试将图像放在这里,但我还没有足够的声誉。正如您将看到的,这不是微不足道的。顺便说一句,我访问过“gallery.html”。
  • @Papiro 你有一个不适合你的小示例代码(没有生成的图像)​​吗?有时对于这些问题,我会使用numpy.random 来制作数据,这样我就可以专注于数据的绘制方式,而不是绘制的内容

标签: python matplotlib


【解决方案1】:

这可以通过简单的plot command 来完成:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

NANGLES = 200

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
nvals = [0, 2, 4, 10, 20, 40, 100]
for iy in range(len(nvals)):
    n = nvals[iy]
    x = np.arange(NANGLES) / float(NANGLES)
    y = np.ones(NANGLES)*iy # set y position to same value, with regular step
    z = np.sin(n*x*np.pi)
    ax.plot(x, y, z)
ax.set_ylabel('n')
ax.set_yticklabels(nvals) # update y ticks (set at regular step) to your vals

plt.savefig('stackedplot.png')
plt.show()

我展示的是一个简单的开始,调整情节的外观方面可能是学习/探索更多 python/matplotlib 的一个很好的挑战:

【讨论】:

  • @Papiro 我并不是要阻止你提问。我只想鼓励你自己找到答案。一开始很难,但非常有收获。如果您在完全按照您想要的方式制作情节时遇到问题,请回来,我很乐意再次为您提供帮助。我不确定是否有办法准确再现您展示的情节。我将不得不深入研究实际的mplot3d 代码,因为似乎 API 没有被广泛记录。也可以随意尝试,阅读代码很困难,但却是学习如何使用 matplotlib 的好方法。
  • 非常感谢您的所有帮助,我非常感谢。我希望有一天我能回报这个人情。
猜你喜欢
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多