命令行基于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,但是这应该在稍旧或者较新的版本上有效。

