Saya baru saja menginstal matplotlib di Ubuntu 9.10 menggunakan sistem paket sinaptik. Namun, ketika saya mencoba contoh sederhana berikut
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
Saya tidak mendapatkan jendela plot. Adakah ide tentang cara menampilkan jendela plot?
show()
.Jawaban:
Anda bisa mengetik
import pylab pylab.show()
atau lebih baik, gunakan
ipython -pylab
.Karena penggunaan
pylab
sudah tidak disarankan lagi , solusinya sekarang adalahimport matplotlib.pyplot as plt plt.plot([1,2,3]) plt.show()
sumber
pylab.show()
berfungsi tetapi blok (Anda harus menutup jendela).Solusi yang jauh lebih mudah adalah melakukan
pylab.ion()
(mode interaktif aktif) saat Anda memulai: semua perintah (pylab ekuivalen)pyplot.*
segera menampilkan plotnya. Informasi lebih lanjut tentang mode interaktif dapat ditemukan di situs web resmi.Saya juga kedua menggunakan yang lebih nyaman
ipython -pylab
(--pylab
, dalam versi yang lebih baru), yang memungkinkan Anda untuk melewatifrom … import …
bagian (%pylab
berfungsi, juga, dalam versi IPython yang lebih baru).sumber
pylab.show()
terlebih dahulu untuk membuka gambar.Coba ini:
import matplotlib matplotlib.use('TkAgg')
SEBELUM mengimpor pylab
sumber
Potongan kode di bawah ini berfungsi pada Eclipse dan shell Python:
import numpy as np import matplotlib.pyplot as plt # Come up with x and y x = np.arange(0, 5, 0.1) y = np.sin(x) # Just print x and y for fun print x print y # Plot the x and y and you are supposed to see a sine curve plt.plot(x, y) # Without the line below, the figure won't show plt.show()
sumber
Ada kesalahan yang muncul? Ini mungkin masalah karena tidak menyetel backend. Anda dapat mengaturnya dari interpreter Python atau dari file config (
.matplotlib/matplotlibrc
) di direktori home Anda.Untuk mengatur backend dalam kode bisa Anda lakukan
import matplotlib matplotlib.use('Agg')
dengan 'Agg' adalah nama backend. Backend mana yang ada bergantung pada instalasi dan OS Anda.
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
http://matplotlib.org/users/customizing.html
sumber
.matplotlib/matplotlibrc
kebackend: Agg
. Maka Anda tidak perlu secara eksplisit melakukannyause
setiap kali :)IPython modern menggunakan
--matplotlib
argumen " " dengan parameter backend opsional. Defaultnya adalah "auto", yang biasanya cukup baik di Mac dan Windows. Saya belum mengujinya di Ubuntu atau distribusi Linux lainnya, tetapi saya berharap ini berfungsi.sumber
Jika Anda mengalami masalah saat
pylab.show()
membekukan jendela IPython (ini mungkin khusus Mac OS X; tidak yakin), Anda dapat cmd-c di jendela IPython, beralih ke jendela plot, dan jendela akan keluar.Rupanya, panggilan ke depan
pylab.show()
tidak akan membekukan jendela IPython, hanya panggilan pertama. Sayangnya, saya telah menemukan bahwa perilaku jendela plot / interaksi dengan show () berubah setiap kali saya menginstal ulang matplotlib, jadi solusi ini mungkin tidak selalu berlaku.sumber
Jika Anda memulai IPython dengan
--pylab
opsi tersebut, Anda tidak perlu meneleponshow()
ataudraw()
. Coba ini:sumber
--pylab
tidak lagi berfungsi untuk Jupyter , tetapi untungnya kami dapat menambahkan tweak padaipython_config.py
file untuk mendapatkan keduanyapylab
sertaautoreload
fungsionalitas.c.InteractiveShellApp.extensions = ['autoreload', 'pylab'] c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']
sumber
Jika Anda pengguna Anaconda dan Spyder maka solusi terbaik untuk Anda adalah:
Alat -> Preferensi -> Konsol Ipython -> Bagian Grafis
Kemudian di bagian Dukungan untuk grafik (Matplotlib) :
pilih dua opsi yang tersedia
dan di Graphics Backend :
pilih Otomatis
sumber
Kemungkinan lain saat menggunakan easy_install adalah Anda membutuhkan matplotlib versi terbaru. Mencoba:
import pkg_resources pkg_resources.require("matplotlib")
sebelum Anda mengimpor matplotlib atau salah satu modulnya.
sumber
matplotlib
sudah terpasang, tidak mempengaruhi bagaimana penanganan jendela dilakukan.