2013-02-06 39 views
8

Để truy cập máy chủ của tôi, tôi buộc phải làm việc với ứng dụng đầu cuối văn bản cũ không có cửa sổ X. Điều tốt nhất tôi có là emacs/ESS.Chức năng âm mưu ASCII cho R

Thông thường, tôi muốn tạo các ô thô sơ như biểu đồ và ô phân tán và không phải trải qua sự cố khi chuyển tệp sang máy tính có màn hình đồ họa.

Có thư viện đồ họa R dựa trên đầu cuối văn bản không?

+2

[tại đây] (http://stackoverflow.com/questions/9151884/how-can-i-generate-ascii-graphical-output-from-r) – user189035

Trả lời

16

Có một số điều có thể làm các bit của nó. Có stem trong R mặc định, có chức năng thisscat ter cốt truyện, nhưng tốt nhất là có gói txtplot trên CRAN có phân tán, ô, thanh, dấu vết mật độ, đường tròn và đường cong (như chức năng curve ... kinda).

Tôi chỉ cần một lần trong một thời gian - nhưng nếu tôi cố gắng truyền đạt ý tưởng thô sơ về hình ảnh trong văn bản thuần túy như tôi đôi khi cần, đó là một cuộc sống tiết kiệm.

Trước đây, tôi đã viết một đoạn mã R ngắn làm cho đồ họa ascii theo kiểu trong thời gian rất nhanh (giống như một thanh ngang hoặc một lô lá và lá có số thay thế bằng biểu tượng, giải quyết được sự cố Tôi đã có) - nhưng tôi đã không giữ nó kể từ khi gốc chủ yếu bao gồm lãnh thổ đó.

Tất nhiên cơ sở 'bảng' tạo ra kết quả ascii và có thể được thao tác để thực hiện một số thứ semigraphical thú vị/hữu ích.

cũng gói ascii có thể được sử dụng để hiển thị các đối tượng R khác nhau thành biểu mẫu ascii theo kiểu tương tự như Sweave - tiện dụng cho định dạng bảng, v.v. Chỉ cần định dạng một bảng vào ascii là không thực sự là những gì nó cho nhưng bạn vẫn có thể có được một số sử dụng ra khỏi nó với một công việc nhỏ và định dạng đầu ra đúng.

đầu ra mẫu từ txtplot:

phân tán âm mưu:

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

ACF cốt truyện:

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

mật độ trace:

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

âm mưu hộp:

> 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] 

cốt truyện cong:

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

thanh biểu đồ:

> 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 

Thêm vào stem chức năng từ đồ họa R mặc định:

> stem(log(islands,10)) 

    The decimal point is at the | 

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

và bạn có khá nhiều bảo hiểm.

+0

Cảm ơn Glen, điều này thật tuyệt vời !!! –

Các vấn đề liên quan