matplotlib,绘制图中的多个图形/点

时间:2013-04-23 10:28:57

标签: python matplotlib arduino

我正在尝试开发一种遥测系统,该系统从Arduino发送传感器数据,实时绘制。为此,我使用Python和matplotlib库。 我的问题是每次新的数据点到达时,我想通过将其绘制到与其他数据点相同的数字来添加该数据点。到目前为止,我找不到解决方案。

2 个答案:

答案 0 :(得分:1)

您可以使用Plotly中的Arduino API将数据从Arduino流式传输到Plotly图表。您有两种选择:连续传输数据(听起来您想要这样做)或传输单个数据块。

如果刷新页面,它将每隔几秒更新一次图表。

Arduino API可用here。而且,如果您已经在使用Python,则可以使用extend选项将数据更新到另一个图中。 Python API是here

以下是从Arduino传输的示例,您可以看到交互式版本here

enter image description here

完全披露:我在Plotly工作。

答案 1 :(得分:-1)

据我所知,你有几种不同的方法可以做到这一点(我会把它列在我认为增加难度的地方

  1. 制作位图文件,例如.png,每次新数据点到达时都必须重新生成。为此,您需要将旧数据存储在文件或数据库中的某个位置。
  2. 在浏览器中使用svg。然后,您可以使用javascript(例如http://sickel.net/blogg/?p=1506
  3. 添加点或线
  4. 创建一个位图,存储它并编辑它以添加新点 - 如果您想要在一端“滚动旧点”,或者在更多数据到达时重新缩放图像,这真的很棘手。
  5. 制作一系列位图,并将总图表作为大量切片的组合。 - 在这里你可以很容易地“滚动”旧点,但如果你想重新缩放,你就不走运了。