我正在尝试选择一个绘图库,以ASCII格式在终端中绘制数据。
在python中有很多gnuplot的包装器,但似乎所有这些都没有达到要求列表:
此外,我想要平台独立的东西,并依赖于gnuplot似乎是一个交易破坏者。这是一个很好的,而不是严格的要求。
有什么建议吗?
我想避免编写自己的包装并为生态系统添加噪音,但可用的选项看起来太粗糙了。
答案 0 :(得分:2)
检查软件包plotext,该软件包允许使用python3在终端上直接绘制数据。它非常直观,因为其用法与 matplotlib 软件包非常相似。
这是一个基本示例:
您可以使用以下命令进行安装:
sudo -H pip install plotext
对于matplotlib,主要功能是散点图(用于单点),图(用于线连接的点)和 show (在终端上实际打印图)。可以很容易地指定绘图尺寸,点和线型以及显示轴,数字刻度和最终方程式的任何内容,这些用于将绘图坐标转换为原始实数值。
以下是产生以上所示图的代码:
import plotext.plot as plx
import numpy as np
l=3000
x=np.arange(0, l)
y=np.sin(4*np.pi/l*np.array(x))*np.exp(-0.5*np.pi/l*x)
plx.scatter(x, y, rows = 17, cols = 70)
plx.show(clear = 0)
clear=True
中的选项show
用于在绘制之前清除端子:例如,在绘制连续数据流时,这很有用。
此处显示绘制连续数据流的示例:
package description提供了有关如何自定义图的更多信息。 该软件包已经在Ubuntu 16上进行了完美的测试。未来可能的开发(应要求)可能涉及到python2和其他图形界面(例如jupiter)的扩展。如果您在使用它时遇到任何问题,请告诉我。谢谢。
我希望这能回答您的问题。
答案 1 :(得分:0)
您可以尝试以下一种方法: https://github.com/mzechmeister/python/wiki/gplot.py
tmp
:tmpfile,数据块等)>>> from gplot import *
>>> gplot.term("dumb")
<gplot.Gplot object at 0x7fd394c17d10>
>>> gplot('sin(x)')
>>>
1 +--------------------------------------------------------------------+
| ** ** + ** ** + * * |
0.8 |-+ * ** ** * sin(x*********-|
| ** * * ** * * |
0.6 |-+ * ** * * * * +-|
| * * ** ** * * |
0.4 |*+ * * * * * *+-|
|* * * ** * * * |
0.2 |*+ ** * * * * *+-|
| * * * * * ** * |
0 |-* * * ** * * *-|
| * ** * * * * * |
-0.2 |-+* * * * * ** +*|
| * * * ** * * *|
-0.4 |-+* * * * * * +*|
| * * ** ** * * |
-0.6 |-+ * * * * ** * +-|
| * * ** * * ** |
-0.8 |-+ * ** * ** ** * +-|
| * * + ** ** + ** ** |
-1 +--------------------------------------------------------------------+
-10 -5 0 5 10
>>>