انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: lingirl در 13 بهمن 1397، 11:37 ق‌ظ

عنوان: نمودار در بش
ارسال شده توسط: lingirl در 13 بهمن 1397، 11:37 ق‌ظ
سلام. با بش میشه نمودار رسم کرد داخل ترمینال؟
مثلا مقادیر متغیرها رو بصورت نمودار دربیاریم.
عنوان: پاسخ : نمودار در بش
ارسال شده توسط: سلمان م. در 13 بهمن 1397، 03:41 ب‌ظ
می‌تونی از کاراکترهای ||||||||||| یا *********** برای نشون دادن نمودار استفاده کنی.
عنوان: پاسخ : نمودار در بش
ارسال شده توسط: علی رزم دیده در 13 بهمن 1397، 04:49 ب‌ظ
سلام

اگه می خواین داخل خود ترمینال نمودار رو رسم کنین می تونین از gnuplot استفاده کنین. برای این منظور کافیه از دستور set terminal dumb (http://gnuplot.sourceforge.net/docs_4.2/node367.html) استفاده کنین تا خروجی داخل خود ترمینال به نمایش در بیاد.

برای مثال برای رسم نمودار sin(x) :
gnuplot -p -e 'set terminal dumb; plot sin(x)'

    1 +--------------------------------------------------------------------+   
      |                *  *              +  *  **         +       *  *     |   
  0.8 |-+             *   *                 *    *          sin(x* *******-|   
      |              *     *                *    *               *    *    |   
  0.6 |-+            *      *              *     *               *     * +-|   
      |              *      *             *       *             *       *  |   
  0.4 |*+            *      *             *       *             *       *+-|   
      |*            *        *            *        *           *        *  |   
  0.2 |*+           *        *            *        *           *        *+-|   
      | *          *          *          *         *          *          * |   
    0 |-*          *          *          *         *          *          *-|   
      |  *         *          *         *           *         *           *|   
 -0.2 |-+*         *          *         *           *         *          +*|   
      |  *        *            *       *             *       *            *|   
 -0.4 |-+*        *            *       *             *       *           +*|   
      |   *      *              *      *             *      *              |   
 -0.6 |-+ *     *               *     *              *      *            +-|   
      |    *    *               *     *               *     *              |   
 -0.8 |-+   *   *                *   *                 *   *             +-|   
      |     *  *       +         **  *   +             *  *                |   
   -1 +--------------------------------------------------------------------+   
     -10              -5                 0                5                10

و یا اگه داده هایی به صورت زیر داشته باشیم :
cat data.dat
1 2
2 3
3 4

می تونین از دستور زیر استفاده کنین تا محل نقاط رو با * (و یا کارکتر دلخواه شما) به نمایش در بیاره‌ :

gnuplot -p -e 'set terminal dumb; plot "data.dat" pt "*"'

                                                                               
    4 +--------------------------------------------------------------------+   
      |                +                 +                +                |   
      |                                                 "data.dat"    *    |   
      |                                                                    |   
      |                                                                    |   
  3.5 |-+                                                                +-|   
      |                                                                    |   
      |                                                                    |   
      |                                                                    |   
      |                                                                    |   
    3 |-+                                *                               +-|   
      |                                                                    |   
      |                                                                    |   
      |                                                                    |   
      |                                                                    |   
  2.5 |-+                                                                +-|   
      |                                                                    |   
      |                                                                    |   
      |                                                                    |   
      |                +                 +                +                |   
    2 +--------------------------------------------------------------------+   
      1               1.5                2               2.5               3   

همچنین امکان وصل کردن این نقاط، پایپ کردن خروجی یه دستور دیگه به gnuplot و بسیاری امکانات دیگه هم وجود داره که می تونین خودتون انجامش بدین.