【问题标题】:How do I plot a 2D numpy array where every column is a different function?如何绘制每列都是不同函数的 2D numpy 数组?
【发布时间】:2019-03-03 11:53:11
【问题描述】:

我在绘制 2D numpy 数组方面做了一些 googlig,但似乎人们只将它们解释为位图。

然而,在我的例子中,行号是一个 X 坐标,每个单元格都包含一个 Y 坐标,每一列代表一个不同的 y=f(x) 函数。我想在一个简单的折线图上绘制所有这些线(由列表示)。

执行此操作的最简洁的方法是什么?还是我必须提取每一列并一一手动绘制?

【问题讨论】:

  • 你能提供一个minimal reproducible example吗?
  • 你试过pylab.plot(yourarray)吗?
  • @PaulPanzer 它说“未指定协议,qt.qpa.screen:QXcbConnection:无法连接到显示器:0,无法连接到任何 X 显示器。”所有其他 Qt 应用程序都可以正常工作(我使用最新的 KDE)。
  • 看起来你的 matplotlib 安装有问题。如果您自己无法解决,我认为您可以就此提出一个新问题。
  • @PaulPanzer 现在我重新启动了我的电脑,错误消失了。我有一个多星期没有重新启动它,X 服务器似乎已经累了:-) 看来pylab.plot(yourarray) 正是我要找的。您可以将其作为答案提交,我会接受。

标签: python arrays numpy matplotlib


【解决方案1】:

matplotlib.pylab.plot 在给定 2D 输入时会将每一列绘制为单独的线。因此,您需要做的就是

pylab.plot(yourarray)

这似乎无济于事。要获得切实的结果,您至少需要执行以下一项操作:

pylab.show()

和/或

pylab.savefig('yourfilename.png')

【讨论】:

  • 还值得一提的是,必须在pylab.plot(yourarray) 之后调用pylab.show() 才能真正显示情节,因为这对于新手来说可能并不明显。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
相关资源
最近更新 更多