How to plot a chart in the terminal?

后端 未结 7 1307
面向向阳花
面向向阳花 2020-12-25 09:13

I\'m researching ML/Theano, and recently came across this script: https://gist.github.com/notmatthancock/68d52af2e8cde7fbff1c9225b2790a7f which was cool to play with. And l

7条回答
  •  悲&欢浪女
    2020-12-25 09:45

    Check the package plotext which allows to plot data directly on terminal using python3. It is very intuitive as its use is very similar to the matplotlib package.

    Here is a basic example:

    You can install it with the following command:

    sudo -H pip install plotext
    

    As for matplotlib, the main functions are scatter (for single points), plot (for points joined by lines) and show (to actually print the plot on terminal). It is easy to specify the plot dimensions, the point and line styles and whatever to show the axes, number ticks and final equations, which are used to convert the plotted coordinates to the original real values.

    Here is the code to produce the plot shown above:

    import plotext.plot as plx
    import numpy as np
    
    l=3000
    x=np.arange(0, l)
    y=np.sin(4*np.pi/l*np.array(x))*np.exp(-0.5*np.pi/l*x)
    
    plx.scatter(x, y, rows = 17, cols = 70)
    plx.show(clear = 0)
    

    The option clear=True inside show is used to clear the terminal before plotting: this is useful, for example, when plotting a continuous flow of data. An example of plotting a continuous data flow is shown here:

    The package description provides more information how to customize the plot. The package has been tested on Ubuntu 16 where it works perfectly. Possible future developments (upon request) could involve extension to python2 and to other graphical interfaces (e.g. jupiter). Please let me know if you have any issues using it. Thanks.

    I hope this answers your problem.

提交回复
热议问题