Existe-t-il un bon outil de création de graphiques / graphiques / tracés UNIX en ligne de commande? Je cherche quelque chose qui tracera des points xy sur un graphique ASCII.
Juste pour clarifier, je recherche quelque chose qui produira un graphique en ASCII (comme le style ascii-art), afin que je puisse l'utiliser sur une session shell interactive sans avoir besoin de X.
unix
charts
graph
matplotlib
bajafresh4life
la source
la source
Réponses:
Essayez gnuplot . Il a des possibilités graphiques très puissantes.
Il peut sortir sur votre terminal de la manière suivante:
la source
options are feed 79 24'
message? Est-ce que c'est hauteur et largeur? Pouvez-vous élargir votre exemple pour les définir?Bien que ce
gnuplot
soit puissant, c'est aussi très irritant lorsque vous voulez simplement insérer un tas de points et obtenir un graphique.Heureusement, quelqu'un a créé eplot (easy plot), qui gère toutes les absurdités pour vous.
Il ne semble pas avoir d'option pour forcer les graphes terminaux; Je l'ai patché comme ceci:
Un exemple d'utilisation:
la source
Une autre option que je viens de rencontrer est bashplotlib . Voici un exemple exécuté sur (à peu près) les mêmes données que mon exemple eplot :
L'ajustement des bacs aide un peu la résolution:
la source
Les tracés sur une seule ligne sont vraiment simples et peuvent aider à voir les modèles de hauts et de bas.
Voir aussi pysparklines .
(Est-ce que quelqu'un connaît des lignes inclinées Unicode, qui pourraient être assemblées pour créer des lignes, pas des barres, des tracés?)
la source
feedgnuplot est un autre frontal de gnuplot, qui gère la canalisation des données.
la source
eplot
, suggéré dans une autre réponse?Voir aussi: asciichart (implémenté dans Node.js, Python, Java, Go et Haskell)
la source
gnuplot est la réponse définitive à votre question.
Personnellement, je suis également un grand fan de l' API google chart , accessible depuis la ligne de commande à l'aide de wget (ou curl) pour télécharger un fichier png (et le visualiser avec xview ou quelque chose de similaire). J'aime cette option car je trouve les graphiques un peu plus jolis (c'est-à-dire un meilleur anticrénelage).
la source
Vous devez utiliser gnuplot et assurez-vous de lancer la commande "set term dumb" après le démarrage. Vous pouvez également donner un nombre de lignes et de colonnes. Voici la sortie de gnuplot si vous émettez "set term dumb 64 10" puis "plot sin (x)":
Il semble mieux en 79x24 (n'utilisez pas la 80ème colonne sur un écran 80x24: certaines implémentations de curses ne se comportent pas toujours bien autour de la dernière colonne).
J'utilise gnuplot v4, mais cela devrait fonctionner sur des versions légèrement plus anciennes ou plus récentes.
la source
Une autre alternative plus simple / plus légère à gnuplot est ervy , un outil de tableaux de terminaux basé sur NodeJS.
Types pris en charge: dispersion (points XY), barre, tarte, puce, anneau et jauge.
Des exemples d'utilisation avec diverses options peuvent être trouvés sur le dépôt GitHub des projets
la source
Vérifiez le package plotext qui permet de tracer les données directement sur le terminal en utilisant python3. Il est très intuitif car son utilisation est très similaire au paquet matplotlib .
Voici un exemple de base:
Vous pouvez l'installer avec la commande suivante:
Comme pour matplotlib, les principales fonctions sont scatter (pour les points uniques), plot (pour les points joints par des lignes) et show (pour imprimer réellement le tracé sur le terminal). Il est facile de spécifier les dimensions du tracé, les styles de point et de ligne, etc. pour afficher les axes, les graduations numériques et les équations finales, qui sont utilisés pour convertir les coordonnées tracées en valeurs réelles d'origine.
Voici le code pour produire le graphique ci-dessus:
L'option à l'
clear=True
intérieurshow
est utilisée pour effacer le terminal avant le traçage: c'est utile, par exemple, lors du traçage d'un flux continu de données. Un exemple de traçage d'un flux de données continu est présenté ici:le description du package fournit plus d'informations sur la personnalisation du tracé. Le package a été testé sur Ubuntu 16 où il fonctionne parfaitement. Les développements futurs possibles (sur demande) pourraient impliquer l'extension de python2 et d'autres interfaces graphiques (par exemple Jupiter). Veuillez me faire savoir si vous rencontrez des problèmes lors de son utilisation. Merci.
J'espère que cela répond à votre problème.
la source
De plus, spark est un joli petit graphique à barres dans votre shell.
la source
Voici mon patch pour eplot qui ajoute une option -T pour la sortie du terminal:
En utilisant cela, vous pouvez l'exécuter comme
eplot -T
pour obtenir un résultat graphique ASCII au lieu d'une fenêtre gnuplot.la source
-d