Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyimpan Rajah Matplotlib dengan Dimensi Piksel Tertentu?

Bagaimana untuk Menyimpan Rajah Matplotlib dengan Dimensi Piksel Tertentu?

DDD
DDDasal
2024-11-04 15:53:02472semak imbas

How to Save a Matplotlib Figure with Specific Pixel Dimensions?

Menyimpan Rajah dengan Saiz Tepat dalam Piksel

Walaupun Matplotlib secara amnya menentukan saiz angka dalam inci dan titik per inci (dpi), ia adalah mungkin untuk menyimpan kandungan rajah ke cakera dengan saiz tepat dalam piksel.

Memahami DPI

Kunci untuk menentukan saiz piksel adalah untuk menentukan DPI bagi peranti paparan yang dimaksudkan. Anda boleh menggunakan alatan dalam talian untuk mengesan DPI monitor anda.

Kaedah

  1. Tetapkan Saiz Rajah:

    <code class="python">fig = plt.figure(frameon=False)
    fig.set_size_inches((width / dpi, height / dpi))</code>
    • Gantikan lebar dan tinggi dengan bilangan piksel yang diingini.
    • Bahagi dengan dpi untuk menukar piksel kepada inci.
  2. Alih Keluar Kapak:

    <code class="python">ax = plt.Axes(fig, [0., 0., 1., 1.])
    ax.set_axis_off()
    fig.add_axes(ax)</code>
  3. Plot Imej dan Simpan:

    <code class="python">ax.imshow(im_np, aspect='normal')
    fig.savefig(some_path, dpi=dpi)</code>

Contoh

Untuk menyimpan angka bersaiz 800x800 piksel pada monitor dengan DPI 96:

<code class="python">plt.figure(frameon=False)
fig.set_size_inches((800 / 96, 800 / 96))
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
ax.imshow(im_np, aspect='normal')
fig.savefig(some_path, dpi=96)</code>

Kawalan Resolusi

Untuk menyimpan rajah dengan peleraian yang lebih tinggi, cuma tingkatkan nilai dpi apabila menyimpan rajah:

<code class="python">fig.savefig(some_path, dpi=2 * dpi)  # For 2x the resolution</code>

Nota: Kaedah ini hanya berfungsi dengan bahagian belakang tertentu, seperti PNG.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Rajah Matplotlib dengan Dimensi Piksel Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn