Montrer matplotlib parcelles dans Ubuntu (sous-système Windows pour Linux)
Il semble donc sur ubuntu pour windows (sous-système windows pour linux), les gens sont ce qui suggère que nous devons utiliser des Apa backend et il suffit d'enregistrer des images, de ne pas montrer les parcelles.
import matplotlib
matplotlib.use('Agg') # no UI backend
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
#plt.show()
plt.savefig("matplotlib.png") #savefig, don't show
Comment pourrions-nous obtenir à l'endroit où plt.show() serait effectivement de nous montrer une image? Mon option est de remplacer la parcelle.show() à la place savefig une parcelle de 148123456.png sous /mnt/c/Utilisateurs/james/parcelles/dans windows et juste avoir une fenêtre de l'explorateur, ouvrez la visualisation des images.
Je suppose que je pourrais hôte de ce dossier et de l'utilisation d'un navigateur.
Mon objectif est d'être en mesure d'exécuter des exemples simples comme le code ci-dessus sans changer le code pour récupérer les images quelque part etc. Je veux juste le complot pour l'afficher dans une fenêtre.
Quelqu'un a trouvé une manière décente de le faire?
OriginalL'auteur AwokeKnowing | 2017-04-13
Vous devez vous connecter pour publier un commentaire.
Ok, donc je l'ai eu à travailler comme suit. J'ai Ubuntu sur windows, avec anaconda python 3.6 installé.
sudo apt-get update
sudo apt-get install python3.6-tk
(vous pouvez avoir à installer un autrepython*-tk
depnding sur la version de python que vous utilisez)pip install matplotlib
(pour matplotlib. mais beaucoup d'autres choses maintenant trop de travail)export DISPLAY=localhost:0.0
(ajouter à~/.bashrc
de rendre permanente)De toute façon, après tout, le présent code s'exécutant dans ubuntu sur wsl a travaillé comme est:
résultat:
C'est peut-être mieux fait par l'intermédiaire d'un Jupyter ordinateur portable ou quelque chose, mais c'est agréable d'avoir de base de la ligne de commande python matplotlib fonctionnalité dans Ubuntu pour Windows sur le sous-système pour Linux, et cela fait de nombreuses autres applications à interface graphique trop de travail.
sudo apt-get install python-tk
sur ubuntu côté - alors que j'étais bon pour aller après le réglage de l'AFFICHAGE.Qu'avez-vous mis de l'AFFICHAGE?
DISPLAY=localhost:0.0
, comme dans la réponse ci-dessus.Il ne fonctionne pas pour moi quand j'avais encore
mpl.use('Agg')
dans mon code. J'ai supprimé et maintenant il fonctionne très bien.Je viens de mettre à jour la réponse repose sur @AlistairH de la suggestion et maintenant, il utilise <100 MO au lieu de >500 mo et est beaucoup plus rapide.
OriginalL'auteur AwokeKnowing
Pour obtenir matplotlib de travailler avec GTKAgg sur Bash sur Ubuntu que sur Windows, j':
export DISPLAY=localhost:0.0
(à ajouter dans le ~/.bashrc de rendre permanente)]sudo pip uninstall matplotlib
sudo apt install python-matplotlib
backend : GTKAgg
(plutôt quebackend : agg
)sudo apt-get install python-gtk2-dev
, mais cela peut ne pas être nécessaire.La désinstallation du programme pep installé matplotlib et de le réinstaller via apt semble nécessaire parce que pep ne comprennent pas le C extensions nécessaires à l'exécution de GTK, mais l'apt version ne.
J'ai mis à jour mon
matplotlibrc
(étape 5), de sorte queGTKAgg
est utilisé par défaut, plutôt que de définir explicitement lamatplotlib use
attribut, mais j'aime votre variante. Aussi, bon point sur la vérification de la VcXsvr est en cours d'exécution. Content d'avoir pu aider!notez que
mobaXtrem
a builtin xserver qui peut être utilisé à la place de l'installation deVcXsrv
. voir nickjanetakis.com/blog/...Comment est-ce une amélioration? MobaXTerm est juste un autre tiers XServer.
et bien, en fait, vous avez raison, juste que j'avais MobaXTrem tous les prêts en cours d'exécution afin de l'enregistrer installé un nouveau logiciel pour moi.
OriginalL'auteur marisano