命令行基于Unix ASCII的制图/绘图工具
时间:2020-03-06 14:37:22 来源:igfitidea点击:
那里有一个好的命令行UNIX制图/制图/绘图工具吗?我正在寻找可以在ASCII图上绘制xy点的东西。
只是为了澄清一下,我正在寻找可以输出ASCII图的图形(例如ascii-art样式),因此我可以在交互式Shell会话中使用它而无需X。
解决方案
尝试gnuplot。它具有非常强大的绘图功能。
它可以通过以下方式输出到终端:
gnuplot> set terminal dumb Terminal type set to 'dumb' Options are 'feed 79 24' gnuplot> plot sin(x) 1 ++----------------**---------------+----**-----------+--------**-----++ + *+ * + * * + sin(x) ****** + 0.8 ++ * * * * * * ++ | * * * * * * | 0.6 ++ * * * * * * ++ * * * * * * * | 0.4 +* * * * * * * ++ |* * * * * * * | 0.2 +* * * * * * * ++ | * * * * * * * | 0 ++* * * * * * *++ | * * * * * * *| -0.2 ++ * * * * * * *+ | * * * * * * *| -0.4 ++ * * * * * * *+ | * * * * * * * -0.6 ++ * * * * * * ++ | * * * * * * | -0.8 ++ * * * * * * ++ + * * + * * + * * + -1 ++-----**---------+----------**----+---------------**+---------------++ -10 -5 0 5 10
一个非常繁琐且功能强大的解决方案是安装cernlib并使用paw。
gnuplot是我们问题的确定答案。
我个人也是Google图表API的忠实拥护者,可以在wget(或者curl)的帮助下从命令行进行访问,以下载png文件(并使用xview或者类似工具查看)。我喜欢这个选项,因为我发现图表稍微更漂亮(即更好的抗锯齿)。
我们应该使用gnuplot并确保发出命令" set term dumb"
启动后。我们还可以给出行数和列数。
如果我们发出" set term dumb 64 10",则这是gnuplot的输出
然后"绘制sin(x)":
1 ++-----------****-----------+--***-------+------****--++ 0.6 *+ **+ * +** * sin(x)*******++ 0.2 +* * * ** ** * **++ 0 ++* ** * ** * ** *++ -0.4 ++** * ** ** * * *+ -0.8 ++ ** * + * ** + * +** +* -1 ++--****------+-------***---+----------****-----------++ -10 -5 0 5 10
在79x24分辨率下看起来更好(不要在80x24显示屏上使用第80列:某些curses实现在最后一列周围的表现并不总是很好)。
我正在使用gnuplot v4,但是这应该在稍旧或者较新的版本上有效。