Graphiques en ATS

8

Quelque chose est arrivé qui m'oblige à travailler uniquement en ligne de commande. Mon travail principal est la programmation (principalement à Fortran et Octave) et j'ai besoin d'afficher des tracés.

À titre d'exemple boiteux:

J'ouvre l'octave et tape ezplot('sin(x)') et il sort cet environnement d'affichage X11 non défini et incapable d'ouvrir l'affichage. Existe-t-il un moyen pour moi de visualiser des graphiques en ATS?

Évidemment, je ne m'attends pas à des graphismes impressionnants mais je dois voir si je suis sur la bonne voie de temps en temps.

Mon algorithme actuel est extrêmement inefficace. Je print -djpeg foo.jpegpuis le scp à mon ordinateur voisin. Empruntez cela et continuez.

Gilles 'SO- arrête d'être méchant'
la source
Trois questions évidentes viennent à l'esprit: quel système d'exploitation utilisez-vous sur votre ordinateur de bureau? Êtes-vous sur la console système ou connecté à distance? Et, si vous êtes connecté à distance, quel protocole / logiciel utilisez-vous pour vous connecter à la machine distante (par exemple SSH utilisant PuTTY)?
Alexios
1
Vous avez en fait deux questions différentes ici. Existe-t-il un moyen pour moi de visualiser des graphiques en ATS? (réponse: aalib ou svgalib); et le non déclaré Comment puis-je imprimer des graphiques en ASCII? (gnuplot, cernlib, etc.). Pouvez-vous clarifier ce que vous voulez plutôt que la façon dont vous vous attendez à y parvenir?
dmckee --- chaton ex-modérateur
2
Lié à et peut être répondu dans Tous les outils de traçage (basés sur du texte) dans la boîte à outils Unix? .
dmckee --- chaton ex-modérateur
Un rapide google suggère que l'octave ne prend pas directement en charge aalib et que personne ne s'en soucie, il y a des signes que certaines personnes veulent qu'il fonctionne avec svgalib, bien que je ne sache pas si cela fonctionne réellement.
dmckee --- chaton ex-modérateur
Sur une note différente, si OP ne veut pas de scpfichiers tout le temps, la recherche sshfspourrait être une alternative.
phk

Réponses:

5

Si vous avez simplement une série d' .jpegimages que vous souhaitez afficher dans un tty, vous pouvez utiliser aviewou asciiview. Lors d'un appel asciiviewavec une image, il convertira l'image au .pnmformat - à l'aide d'un programme externe comme NetPBM ou ImageMagic - avant de la passer à l' aviewaffichage. Le .pnmest le asciiformat d'image utilisé pour représenter l'image comme un ensemble de caractères. Pour visualiser une image dans ce format, utilisez simplement:

$ asciiview foo.jpeg

ou pour enregistrer une .pnmcopie en premier:

$ convert foo.jpeg foo.pnm
$ aview foo.pnm

Ceux-ci prennent en charge le pilote de aalib.


la source
Aucun des autres mots de méthodes.
5

Vous ne pouvez pas exécuter un serveur X sur un autre tty et y basculer lorsque vous en avez besoin? Si vous avez une machine à côté de vous qui exécute X, vous pouvez utiliser le transfert X11 pour qu'elle s'affiche là-bas.

psusi
la source
Un exemple de ceci peut être trouvé dans cette question.
Emanuel Berg
5

La réponse la plus directe consiste à utiliser jp2a : JPEG à ASCII.

Vous pouvez peut-être utiliser la célèbre bibliothèque d'ascii-art: libcaca . Il permet même de voir un film dans un terminal , il devrait donc également fonctionner pour un simple jpeg.

Coren
la source
2

Vous pouvez directement dessiner des graphiques en ASCII avec gnuplot;
Définissez le type de terminal sur dumb, c'est tout ce dont vous avez besoin:

$ gnuplot
gnuplot> set terminal dumb
Terminal type set to 'dumb'
Options are 'feed  size 79, 24'
gnuplot> plot sin(x)



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

gnuplot>
Volker Siegel
la source
1
Pas lié à OP mais je note qu'il a aussi le terminal canvas , ce qui est génial!
@ Amphiteóth Oui, celui-là est intéressant aussi - c'est le rendu sur un canevas HTML, non? Je l' ai mentionné si le linkset en elinksmode texte navigateur pourrait rendre.
Volker Siegel
1
Oui, avec sth comme set output 'output.html'vous obtenez ce fichier, et en regardant la source, c'est comme JS en ligne et appelle canvastext.js et gnuplot_common.js . Je ne savais pas ça! Plutôt utile!
2

Si vous utilisez un programme terminal capable d'afficher des graphiques sixel , par exemple un xtermou l'un de ses dérivés, vous pouvez convertir des images au format sixel avec PySixel et sortir, ou autrement intégrer un filtre qui imprime directement les commandes sixel.

De cette façon, vous aurez des graphismes en vraies couleurs (pas ASCII) dans le terminal.

dirkt
la source
1

Si vous êtes sur une console TTY sous Linux ou FreeBSD, vous pouvez utiliser svgalib pour afficher des images en mode graphique, sans X11. La bibliothèque peut basculer la console en mode graphique - elle n'est tout simplement pas couramment utilisée aujourd'hui, car le X11 a ses avantages.

Il existe une visionneuse d'images pour la console, qui peut nécessiter quelques ajustements pour la construire car elle est quelque peu dépassée, mais cela vaut la peine d'essayer.

La visionneuse d'images zgv- il existe également une visionneuse similaire pour X11, nommée xzgv, au cas où vous aimeriez beaucoup l'interface.

Volker Siegel
la source
0

Pour les graphismes réels, votre meilleur pari (et peut-être seulement) est svgalib , mais sachez qu'il n'a rien en commun avec X11, vous devrez donc écrire votre propre remplacement pour ezplot.

Shadur
la source