Bagaimana cara mengubah ukuran gambar dengan subplot?


287

Saya menemukan contoh ini di situs web Matplotlib. Saya bertanya-tanya apakah mungkin untuk meningkatkan ukuran gambar.

Saya mencoba

f.figsize(15,15)

tetapi tidak melakukan apa-apa.

Jawaban:


526

Jika Anda sudah menggunakan objek gambar:

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

Tetapi jika Anda menggunakan perintah .subplots () (seperti pada contoh yang Anda perlihatkan) untuk membuat angka baru Anda juga dapat menggunakan:

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

12
ada juga fig.set_size_inchesuntuk mengatur tinggi dan lebar bersama
Francesco Montesano

1
Ini tidak berfungsi, Anda dapat mengatur ketinggian ke apa pun yang Anda inginkan, tetapi tidak akan pernah lebih besar dari monitor Anda.

2
Ini tidak harus melakukan apa pun dengan monitor Anda. Bagaimana jika Anda menghasilkan png? Apakah Anda mengatakan itu tidak pernah lebih besar dari resolusi layar? Kombinasi ukuran dalam inci dengan dpi yang menentukan ukuran dalam piksel.
Rutger Kassies

termasuk figsize dalam panggilan ke subplot () tampaknya tidak berfungsi. memanggil f.set_figheight, bagaimanapun, tidak berfungsi.
Vicki B

Apakah mungkin untuk mengubah ukuran subplot itu sendiri tanpa mengubah figsize?
Alexis.Rolland

38

Atau, buat figure()objek menggunakan figsizeargumen dan kemudian gunakan add_subplotuntuk menambahkan subplot Anda. Misalnya

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:')

Contoh sederhana

Manfaat dari metode ini adalah bahwa sintaks lebih dekat dengan panggilan subplot()alih-alih subplots(). Misalnya, subplot tampaknya tidak mendukung penggunaan GridSpecuntuk mengendalikan jarak subplot, tetapi keduanya subplot()dan add_subplot()dilakukan.


10
Adakah kemungkinan untuk menambahkan 'ukuran' ke ax dan ax2 secara terpisah?
M. Gopal

2
Jika saya mengerti benar Anda ingin mengatur ukuran relatif kedua sumbu? Dalam hal ini, saya pikir Anda sedang mencari pertanyaan ini: stackoverflow.com/questions/10388462/...
aquirdturtle
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.