Plotting to the terminal in python
我试图选择一个绘图库以ASCII格式在终端中绘制数据。
在python中,有许多gnuplot的包装器,但似乎都没有满足要求列表:
- 支持python2和python3
- 正确包装参数和命令,而不只是薄薄的执行层
- 避免写下文件系统
我也希望平台无关,并且依赖gnuplot似乎可以解决问题。这是一个很好的要求,而不是严格的要求。
有什么建议吗?
我想避免编写自己的包装程序,并给生态系统增加噪音,但是可用的选项似乎过于粗糙。
检查package plotext包,该包允许使用python3在终端上直接绘制数据。它非常直观,因为其用法与matplotlib软件包非常相似。
这是一个基本示例:
您可以使用以下命令进行安装:
1 | sudo -H pip install plotext |
对于matplotlib,主要功能是散点图(用于单点),绘图(用于线连接的点)和显示(在终端上实际打印绘图)。可以很容易地指定绘图尺寸,点和线型以及任何显示轴,数字刻度和最终方程式的内容,这些用于将绘图坐标转换为原始实数值。
以下是产生以上所示图的代码:
1 2 3 4 5 6 7 8 9 | 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) |
此处显示绘制连续数据流的示例:
包装说明提供了有关如何自定义图的更多信息。
该软件包已经在Ubuntu 16上进行了完美的测试。未来可能的开发(应要求)可能涉及到python2和其他图形界面(例如jupiter)的扩展。如果您在使用它时遇到任何问题,请告诉我。谢谢。
我希望这能回答您的问题。
您可以尝试以下一种方法:
https://github.com/mzechmeister/python/wiki/gplot.py
- 支持python2 / python3 / jupyter
- 支持所有命令
-
选项如何传输数据(请参阅参数
tmp :tmpfile,数据块等)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | >>> 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 >>> |