आर

2013-02-06 15 views
8

के लिए ASCII प्लॉटिंग फ़ंक्शंस मेरे सर्वर तक पहुंचने के लिए, मुझे पुराने टेक्स्ट टर्मिनल एप्लिकेशन के साथ काम करने के लिए मजबूर होना पड़ता है जिसमें एक्स विंडो नहीं है। सबसे अच्छी बात यह है कि मैं emacs/ईएसएस है।आर

अक्सर, मैं हिस्टोग्राम और स्कैटर प्लॉट जैसे प्राथमिक प्लॉट बनाना चाहता हूं और फ़ाइल को ग्राफिक्स डिस्प्ले वाले कंप्यूटर में स्थानांतरित करने की परेशानी से गुजरना नहीं है।

क्या कोई टेक्स्ट टर्मिनल-आधारित आर ग्राफिक्स लाइब्रेरी है?

+2

[यहां] (http://stackoverflow.com/questions/9151884/how-can-i-generate-ascii-graphical-output-from-r) – user189035

उत्तर

16

ऐसी कई चीजें हैं जो इसके बिट्स कर सकती हैं। डिफ़ॉल्ट आर में stem है, वहाँ thisscat Ter भूखंड समारोह है, लेकिन सभी का सबसे अच्छा, वहाँ क्रैन पर पैकेज txtplot जो scatterplots, boxplots, barplots, घनत्व निशान, acfs और भूखंडों घटता करता है (curve समारोह की तरह है ... थोड़े)।

मुझे केवल थोड़ी देर में इसकी ज़रूरत है - लेकिन यदि मैं कभी-कभी शुद्ध पाठ में ग्राफिक के बारे में किसी न किसी विचार को व्यक्त करने की कोशिश कर रहा हूं, तो मुझे कभी-कभी जीवन-बचतकर्ता की आवश्यकता होती है।

अतीत में मैंने आर कोड का एक छोटा सा टुकड़ा लिखा था जिसने बहुत तेज़ समय में टैली-स्टाइल एसीआई ग्राफिक बनाया था (जैसे कि किनारे के किनारों या स्टेम-एंड-लीफ प्लॉट को संख्याओं के साथ प्रतिस्थापित किया गया था, जिसने समस्या हल की मेरे पास था) - लेकिन मैंने इसे नहीं रखा क्योंकि स्टेम ज्यादातर उस क्षेत्र को कवर करता है।

बेशक 'टेबल' सुविधा एसीआईआई आउटपुट उत्पन्न करती है और कुछ रोचक/उपयोगी अर्धसूत्रीय चीजों को करने के लिए छेड़छाड़ की जा सकती है। टेबल स्वरूपण और इतने पर के लिए आसान -

भी पैकेज ascii जो विभिन्न आर Sweave के लिए इसी तरह फैशन में ascii रूप में वस्तुओं रेंडर करने के लिए इस्तेमाल किया जा सकता है। बस एसीआईआई में एक टेबल को स्वरूपित करना वास्तव में यह नहीं है कि यह वास्तव में क्या है लेकिन आप अभी भी थोड़ा काम और सही आउटपुट प्रारूप के साथ इसका कुछ उपयोग करने में सक्षम हो सकते हैं। txtplot से

नमूना उत्पादन:

बिखराव साजिश:

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

एसीएफ़ साजिश:

> 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 समारोह में जोड़ें:

> stem(log(islands,10)) 

    The decimal point is at the | 

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

और आप काफी एक बहुत कुछ है कवरेज का

+0

धन्यवाद ग्लेन, यह कमाल है !!! –