Jupyter Notebook'da satır içi grafikler nasıl daha büyük hale getirilir?


264

Ben arazilerimi Ipython Defterimde "%matplotlib inline ."

Şimdi, grafik ortaya çıkıyor. Ancak, çok küçük. Dizüstü bilgisayar ayarlarını veya çizim ayarlarını kullanarak daha büyük görünmesini sağlamanın bir yolu var mı?

resim açıklamasını buraya girin

Yanıtlar:


172

Evet, şöyle oynayın figuresize(alt planınızı aramadan önce):

fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')

28
Bu özel durum için f, (ax1, ax2, ax3) = plt.subplots (1,3, sharex = 'col', sharey = 'satır', şekil = (18, 16))
Rol

12
Çalışmıyor. Benim durumumda figür boyutunu değiştirmek yalnızca en boy oranını değiştirir. Toplam rakamın genişliği sabit kalıyor
Aleksejs Fomins

Sayfaya sığmayacak kadar büyük sayılar için bu doğrudur, ardından ölçeklendirme durur. Yine de, belirttiğiniz gibi en boy oranını değiştirmek için yararlı olabilir.
roadrunner66

1
Dpi'yi '200' değerine yükseltmek, sadece şekil boyutunu değiştirmekten çok daha iyi sonuç verir.
Adithya Bhat

Evet, aşağıdaki @Hagne'ye bakın.
roadrunner66

405

Varsayılan rakam boyutu (inç cinsinden)

matplotlib.rcParams['figure.figsize'] = [width, height]

Örneğin:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]

10 (genişlik) x 5 (yükseklik) inç ile bir şekil oluşturur


7
Bu, eğer tüm araziler eksik büyüklükteyse, bir set-ve-unut-stratejisi olarak çok daha kullanışlıdır.
ijoseph

2
Harika. Pandalar boxplot boyutu ile mücadele ve bu düzeltildi. Nedense bu figsize=(x,y)tartışma jupyter'de etkisizdir. Ancak, matplob.rcParamsönerdiğiniz gibi değişiklik yapmak mükemmel bir şekilde çalışır.
0_0

30
Emin bu çalıştırmak olun sonra çalışan %matplotlib inline.
uut

@uut bu varsayılan değil mi?
Verena Haunschmid

4
@VerenaHaunschmid, rcParams'ı %matplotlib inlineayarladıktan sonra çalışıyor , şekil boyutunun üzerine varsayılan olarak yazılıyor gibi görünüyor.
uut

63

Bunu buldum %matplotlib notebook benim için Jupyter dizüstü bilgisayarlardan daha iyi çalıştığını .

Daha %matplotlib inlineönce kullanıyorsanız çekirdeği yeniden başlatmanız gerekebileceğini unutmayın .

Güncelleme 2019: Jupyter Lab çalıştırıyorsanız, kullanmak isteyebilirsiniz %matplotlib widget


5
Belki bu bazı durumlarda işe yarar ama bunu benimkini denediğimde bana panda veri çerçeveli boş bir görüntü verdi df.plot(). Ben geri dönmek zorunda%matplotlib inline
tsando

8
@tsando Ben geçiş sorunu gördük %matplotlib inlineiçin %matplotlib notebookçekirdek yeniden başlatmadan boş çıkış verir. Geçiş %matplotlib notebookiçin %matplotlib inlineçalışmalar cezası.
SlimCheney

4
Teşekkürler @SlimCheney, söylediklerinizin doğru olduğunu onaylıyorum - çekirdeği yeniden
başlatırsanız

1
Bu kesinlikle kaydırma ve yakınlaştırma bileşenlerini elle ayarlamaya çalışıyor
beldaz

1
çekirdeği yeniden başlattıktan sonra bile çalışmaz. Boş bir çıktı verir
Kardi Teknomo

31

Eğer şeklin görüntüsünün sadece şeklin genel görünümünü değiştirmeden daha büyük görünmesini istiyorsanız, şekil çözünürlüğünü artırın. Şekil boyutunun diğer cevapların çoğunda önerildiği gibi değiştirilmesi, yazı tipi boyutları buna göre ölçeklenmediği için görünümü değiştirir.

import matplotlib.pylab as plt
plt.rcParams['figure.dpi'] = 200

19

Soru şu matplotlib , ancak dil-agnostik başlık verildiğinde burada bulunan R kullanıcıları uğruna:

Bir R çekirdeği kullanıyorsanız, şunu kullanın:

options(repr.plot.width=4, repr.plot.height=3)

11

Bir şeklin boyutunu ayarlamak için:

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(15, 15))

Varsayılan ayarları ve dolayısıyla tüm grafiklerinizi değiştirmek için:

import matplotlib.pyplot as plt

plt.rcParams['figure.figsize'] = [15, 15]

1

Şekil boyutunu bir defaya mahsus ayarlamak için küçük ama önemli bir ayrıntı (yukarıdaki birkaç yorumcunun "bu benim için çalışmadığını" bildirdiği gibi):

Gerçek grafiğinizi tanımlamak için plt.figure (figsize = (,)) ÖNCE yapmalısınız. Örneğin:

Bu, grafiği çizdiğiniz şekle göre doğru şekilde boyutlandırmalıdır:

values = [1,1,1,2,2,3]
_ = plt.figure(figsize=(10,6))
_ = plt.hist(values,bins=3)
plt.show()

Oysa bu, varsayılan ayarları içeren grafiği gösterecek ve rakamı "yoksay" gibi görünecektir:

values = [1,1,1,2,2,3]
_ = plt.hist(values,bins=3)
_ = plt.figure(figsize=(10,6))
plt.show()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.