Alt grafiklerle şekil boyutunu nasıl değiştirebilirim?


287

Ben rastladım bu örnekte Matplotlib web sitesinde. Rakam boyutunu büyütmenin mümkün olup olmadığını merak ediyordum.

İle denedim

f.figsize(15,15)

ama hiçbir şey yapmıyor.

Yanıtlar:


528

Şekil nesnesini zaten kullanıyorsanız:

f.set_figheight(15)
f.set_figwidth(15)

Ancak yeni bir şekil oluşturmak için .subplots () komutunu (gösterdiğiniz örneklerde olduğu gibi) kullanıyorsanız:

f, axs = plt.subplots(2,2,figsize=(15,15))

12
fig.set_size_inchesyükseklik ve genişliği birlikte ayarlamak için de var
Francesco Montesano

1
Bu işe yaramaz, yüksekliği istediğiniz gibi ayarlayabilirsiniz, ancak asla monitörünüzden daha büyük olmayacaktır.

2
Bunun monitörünüzle bir şey yapması gerekmez. Bir png çıktısı alırsanız ne olur? Asla ekran çözünürlüğünden daha büyük olamayacağını mı söylüyorsunuz? Bu, inç cinsinden boyutun, piksel cinsinden boyutunu belirleyen dpi ile birleşimi.
Rutger Kassies

subplots () çağrısında figsize dahil gibi görünmüyor. Ancak f.set_figheight çağrıldığında işe yarar.
Vicki B

Figürü değiştirmeden alt grafik boyutunu değiştirmek mümkün müdür?
Alexis Rolland

38

Alternatif olarak, bağımsız değişkeni figure()kullanarak bir nesne oluşturun figsizeve sonra add_subplotalt grafiklerinizi eklemek için kullanın . Örneğin

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')

Basit Örnek

Bu yöntemin faydaları, sözdiziminin subplot()yerine çağrılara daha yakın olmasıdır subplots(). Örn. Alt GridSpecgrafikler, alt grafiklerin aralığını kontrol etmek için a kullanımını desteklemiyor gibi görünmektedir , fakat hem subplot()ve hem de add_subplot()öyle.


10
Axe ve ax2'ye ayrı ayrı 'boyut' ekleme imkanı var mı?
M Gopal

2
Doğru anlarsam, iki eksenin göreceli boyutunu ayarlamak ister misiniz? Bu durumda, bu soruyu aradığınızı düşünüyorum: stackoverflow.com/questions/10388462/…
aquirdturtle
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.