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