18

サーバーにアクセスするために、X ウィンドウのない古いテキスト端末アプリケーションを使用する必要があります。私が行っている最高のものはemacs/ESSです。

多くの場合、ヒストグラムや散布図などの基本的なプロットを作成し、グラフィック ディスプレイを備えたコンピューターにファイルを転送する手間を省きたいと考えています。

テキスト端末ベースの R グラフィックス ライブラリはありますか?

4

1 に答える 1

31

それのビットを行うことができる多くのことがあります。デフォルトのstemRには、この scatterプロット関数がありますが、何よりも、散布図、箱ひげ図、バープロットtxtplot、密度トレース、acfs、およびプロット曲線を実行するCRANのパッケージがあります(curve関数のように...ちょっと)。

たまにしか必要ありませんが、グラフィックの大まかなアイデアを純粋なテキストで伝えようとしている場合は、それが命の恩人になります。

過去に、タリースタイルのアスキーグラフィックを非常に短時間で作成する短いRコードを作成しました(横棒グラフや、数字を記号に置き換えた幹葉図など)。これにより、問題が解決しました。しかし、茎は主にその領域をカバーしているので、私はそれを保持しませんでした。

もちろん、「テーブル」機能はASCII出力を生成し、いくつかの興味深い/有用なセミグラフィックなことを行うように操作できます。

Sweaveと同様の方法でさまざまなRオブジェクトをASCII形式にレンダリングするために使用できるパッケージあります。これは、テーブルのフォーマットなどに便利です。asciiテーブルをASCIIにフォーマットするだけでは、実際にはその目的ではありませんが、少しの作業と適切な出力フォーマットで、テーブルをある程度活用できる可能性があります。

txtplotからのサンプル出力:

散布図:

 > with(cars,txtplot(speed,dist))
     +----+-----------+------------+-----------+-----------+--+
 120 +                                                   *    +
     |                                                        |
 100 +                                                        +
     |                                                   * *  |
  80 +                          *         *                   +
     |                                       *      *    *    |
  60 +                          *              *              +
     |                             *    * *    *      *       |
  40 +                        *      *  * *  *                +
     |                *       * *    *  *    * *              |
  20 +         *      *  * *  * *  *                          +
     |           *    *  * *                                  |
     |  *      *    *                                         |
   0 +----+-----------+------------+-----------+-----------+--+
          5          10           15          20          25   

acfプロット:

 > txtacf(ldeaths)
      +-+--------------+--------------+--------------+--------+
    1 + *                                                     +
      | *                                                     |
      | *  *                        * *  *                    |
  0.5 + *  *                        * *  *                    +
      | *  * *                   *  * *  * *                  |
      | *  * *                   *  * *  * *                  |
      | *  * *                   *  * *  * *                  |
    0 + *  * *  * *  * *  * *  * *  * *  * *  * *  * *  * *   +
      |           *  * *  * *                   *  * *  * *   |
      |           *  * *  * *                   *  * *  * *   |
      |           *  * *  * *                      * *  * *   |
 -0.5 +              * *  *                        * *  *     +
      |              * *  *                          *        |
      +-+--------------+--------------+--------------+--------+
        0             0.5             1             1.5        

密度トレース:

 > txtdensity(rnorm(100,m=5,s=.1))
   +------+----------+----------+----------+----------+-------+
   |                           *****                          |
 4 +                          **   ***                        +
   |                         *       ***                      |
   |                        **         ***                    |
 3 +                       **            ***                  +
   |                     ***               **                 |
   |                 *****                   **               |
 2 +               ***                        **              +
   |             ***                           **             |
   |            **                              **            |
 1 +           **                                ***          +
   |         ***                                   ******     |
   |  ********                                          ***   |
   +------+----------+----------+----------+----------+-------+
         4.8        4.9         5         5.1        5.2       
 

箱ひげ図:

 > vc <- ToothGrowth[,2]=="VC"
 > oj <- ToothGrowth[,2]=="OJ"
 > txtboxplot(ToothGrowth[vc,1],ToothGrowth[oj,1])
       5      10       15       20       25       30      35   
  |----+-------+--------+--------+--------+--------+-------+--|
                  +--------+-----------+                       
 1   -------------|        |           |------------------     
                  +--------+-----------+                       
                         +------------+----+                   
 2          -------------|            |    |---------          
                         +------------+----+                   
 Legend: 1=ToothGrowth[vc, 1], 2=ToothGrowth[oj, 1]

曲線プロット:

 > txtcurve(sin(pi*x),from=0,to=2)
      +--+-----------+------------+------------+-----------+--+
    1 +          *********                                    +
      |        ***        **                                  |
      |       **            **                                |
  0.5 +     **               **                               +
      |    **                  **                             |
      |   *                     **                            |
    0 +  *                       **                        *  +
      |                            *                      *   |
      |                             **                  **    |
 -0.5 +                              ***               **     +
      |                                **            **       |
      |                                  **        ***        |
   -1 +                                    *********          +
      +--+-----------+------------+------------+-----------+--+
         0          0.5           1           1.5          2   

棒グラフ:

 > txtbarchart(as.factor(res),pch="|")
    +--+------------+------------+------------+------------+--+
 50 +  |                                                      +
    |  |                                                      |
 40 +  |                                                      +
    |  |                                                      |
 30 +  |                         |                            +
    |  |                         |                            |
    |  |                         |                            |
 20 +  |                         |                         |  +
    |  |                         |                         |  |
 10 +  |                         |                         |  +
    |  |                         |                         |  |
  0 +  |                         |                         |  +
    +--+------------+------------+------------+------------+--+
       1           1.5           2           2.5           3   
 Legend: 1=A, 2=B, 3=C

stemデフォルトのRグラフィックから関数を追加します。

> stem(log(islands,10))

  The decimal point is at the |

  1 | 1111112222233444
  1 | 5555556666667899999
  2 | 3344
  2 | 59
  3 | 
  3 | 5678
  4 | 012

そして、あなたはかなり多くの報道を持っています。

于 2013-02-07T02:52:30.153 に答える