Pycharm tidak menunjukkan plot dari kode berikut:
import pandas as pd
import numpy as np
import matplotlib as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
Apa yang terjadi adalah sebuah jendela muncul kurang dari satu detik, dan kemudian menghilang lagi.
Menggunakan Pyzo IEP IDE (menggunakan interpreter yang sama) pada kode yang sama, plot ditampilkan seperti yang diharapkan.
... Jadi masalahnya pasti dengan beberapa pengaturan di Pycharm. Saya sudah mencoba menggunakan python.exe dan pythonw.exe sebagai interpreter keduanya dengan hasil yang sama.
Ini sys_info saya:
C:\pyzo2014a\pythonw.exe -u C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevconsole.py 57315 57316
PyDev console: using IPython 2.1.0import sys; print('Python %s on %s' % (sys.version, sys.platform))
Python 3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, 13:02:30) [MSC v.1600 64 bit (AMD64)] on win32
sys.path.extend(['C:\\Users\\Rasmus\\PycharmProjects\\untitled2'])
In[3]: import IPython
print(IPython.sys_info())
{'commit_hash': '681fd77',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': 'C:\\pyzo2014a\\lib\\site-packages\\IPython',
'ipython_version': '2.1.0',
'os_name': 'nt',
'platform': 'Windows-8-6.2.9200',
'sys_executable': 'C:\\pyzo2014a\\pythonw.exe',
'sys_platform': 'win32',
'sys_version': '3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, '
'13:02:30) [MSC v.1600 64 bit (AMD64)]'}
python
matplotlib
pycharm
Rasmus Larsen
sumber
sumber
plt.pyplot.show()
bekerja?Jawaban:
Gunakan saja
Perintah ini memberi tahu sistem untuk menggambar plot di Pycharm.
Contoh:
sumber
plt.draw()
karena saya memperbarui gambar nanti?plt.show()
berfungsi dengan baik, tetapiplt.draw()
tidak menampilkan apa pun di PyCharm.%matplotlib inline
. @CGFox, gambar dimaksudkan secara eksplisit untuk merender ke memori tetapi tidak ditampilkan ke layar (atau file). Anda perlu melakukan plt.pause (0.1) untuk menampilkan plot, atau memanggil plt.show (pause = True) di beberapa titik lain dalam kode untuk membuatnya direnderSaya menyadari ini sudah tua tetapi saya pikir saya akan menjernihkan kesalahpahaman untuk pelancong lain. Pengaturan
plt.pyplot.isinteractive()
keFalse
berarti bahwa plot akan digambar pada perintah khusus untuk menggambar (yaituplt.pyplot.show()
). Menyetelplt.pyplot.isinteractive()
keTrue
berarti bahwa setiap perintahpyplot
(plt
) akan memicu perintah gambar (yaituplt.pyplot.show()
). Jadi, yang Anda cari kemungkinan besar adalahplt.pyplot.show()
di akhir program Anda untuk menampilkan grafik.Sebagai catatan tambahan, Anda dapat sedikit mempersingkat pernyataan ini dengan menggunakan perintah import berikut
import matplotlib.pyplot as plt
daripadamatplotlib as plt
.sumber
Saya memiliki masalah yang sama. Periksa apakah
plt.isinteractive()
Benar. Menyetelnya ke 'False' membantu saya.sumber
Saya mencoba solusi yang berbeda tetapi yang akhirnya berhasil untuk saya adalah
plt.show(block=True)
. Anda perlu menambahkan perintah ini setelahmyDataFrame.plot()
perintah agar ini berlaku. Jika Anda memiliki banyak plot, cukup tambahkan perintah di akhir kode Anda. Ini akan memungkinkan Anda untuk melihat setiap data yang Anda plot.sumber
Bekerja untuk saya. (PyCharm / OSX)
sumber
plt.show()
tidak membantu lagi di versi yang lebih baru dari PyCharm (2020.1).Saya menguji Pycharm versi saya (Community Edition 2017.2.2), Anda mungkin perlu mengumumkan plt.interactive (False) dan plt.show (block = True) sebagai berikut:
sumber
Saya telah menemukan solusi. Ini berhasil untuk saya:
sumber
Segera setelah menelepon
panggilan
Anda akan mendapatkan popup matplotlib dengan gambar.
Ini adalah cara memblokir. Skrip selanjutnya tidak akan berjalan sampai pop ditutup.
sumber
Bagi saya masalahnya adalah fakta bahwa matplotlib menggunakan backend yang salah. Saya menggunakan Debian Jessie.
Di konsol saya melakukan hal berikut:
Hasilnya adalah: 'agg', sedangkan ini seharusnya menjadi 'TkAgg'.
Solusinya sederhana:
sumber
Tambahkan saja
plt.pyplot.show()
, itu akan baik-baik saja.Solusi terbaik adalah menonaktifkan SciView.
sumber
Saya menguji dalam versi saya di PyCharm 2017.1.2. Saya menggunakan interactive (True) dan show (block = True).
sumber
Tak satu pun di atas berhasil untuk saya, tetapi yang berikut berhasil:
Nonaktifkan kotak centang (Tampilkan plot di jendela alat) di pycharm
settings > Tools > Python Scientific
.Saya menerima kesalahan
No PyQt5 module found
. Lanjutkan dengan instalasiPyQt5
menggunakan:Berhati-hatilah karena untuk beberapa langkah pertama saja sudah cukup dan berhasil.
sumber
Env saya: macOS & anaconda3
Ini bekerja untuk saya:
atau mode interaktif:
sumber
saya punya masalah ini dan saya bisa mengatasinya, Anda bisa menguji cara saya .. nonaktifkan "tampilkan plot di jendela alat" dari pengaturan -> alat -> python ilmiah
sumber
Komentar dari DanT memperbaiki ini untuk saya, matplotlib dengan pycharm di linux dengan backend GTKagg. Setelah mengimpor matplotlib saya akan mendapatkan kesalahan berikut:
Saat merencanakan sesuatu seperti ini:
Layar gambar akan muncul tetapi tidak ada grafik yang muncul. menggunakan:
menampilkan grafik dengan benar.
sumber
Dalam kasus saya, saya ingin melakukan hal berikut:
Mengikuti campuran solusi di sini, solusi saya adalah menambahkan sebelumnya perintah berikut:
dengan dua impor berikut
Tampaknya semua perintah diperlukan dalam kasus saya, dengan MBP dengan ElCapitan dan PyCharm 2016.2.3. Salam pembuka!
sumber
Untuk pemula, Anda mungkin juga ingin memastikan bahwa Anda menjalankan skrip Anda di konsol , dan bukan sebagai kode Python biasa. Cukup mudah untuk menyorot sepotong kode dan menjalankannya .
sumber
Di env non-interaktif, kita harus menggunakan plt.show (block = True)
sumber
Bagi mereka yang menjalankan skrip di dalam IDE (dan tidak bekerja di lingkungan interaktif seperti konsol python atau notebook), saya menemukan ini sebagai solusi yang paling intuitif dan paling sederhana:
Ini menunjukkan gambar dan menunggu sampai pengguna mengklik pada jendela baru. Baru setelah itu melanjutkan skrip dan menjalankan sisa kode.
sumber
Saya bisa mendapatkan kombinasi dari beberapa saran lain di sini yang berfungsi untuk saya, tetapi hanya saat beralih
plt.interactive(False)
keTrue
dan kembali lagi.Ini akan mem-flash plot saya. Kemudian pengaturan menjadi
False
diperbolehkan untuk melihat.Sebagaimana dicatat juga program saya tidak akan keluar sampai semua jendela ditutup. Berikut beberapa detail tentang lingkungan yang saya jalankan saat ini:
sumber
Satu properti perlu disetel untuk pycharm.
sumber
Ubah impor menjadi:
atau gunakan baris ini:
sumber
Saya menggunakan Ubuntu dan saya mencoba seperti yang dikatakan @Arie di atas tetapi dengan baris ini hanya di terminal:
Dan itu berhasil!
sumber
Di Pycharm, terkadang Matplotlib.plot tidak muncul.
Jadi setelah memanggil
plt.show()
periksa di bilah alat sisi kanan untuk SciView. Di dalam SciView, setiap plot yang dihasilkan akan disimpan.sumber
Saya menghadapi kesalahan di atas ketika saya mencoba merencanakan histogram dan poin di bawah berfungsi untuk saya.
OS: Mac Catalina 10.15.5
Versi Pycharm: Versi komunitas 2019.2.3
Versi Python: 3.7.0
dari:
import matplotlib.pylab as plt
untuk:
import matplotlib.pyplot as plt
dari:
kepada:
plt.show()
sumber