matplotlib 設置圖形大小 figsize dpi


figure語法說明

  • figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
  • num: 圖像編號或名稱,數字為編號 ,字符串為名稱
  • figsize: 指定figure的寬和高,單位為英寸
  • dpi: 指定繪圖對象的分辨率,即每英寸多少個像素,缺省值為80, 1英寸等於2.5cm, A4 紙是 21*30cm的紙張
  • facecolor: 背景顏色
  • edgecolor: 邊框顏色
  • frameon: 是否顯示邊框
import matplotlib.pyplot as plt


def plot(fs, dpi_set):
    plt.figure(figsize=fs, dpi=dpi_set)
    plt.title("size:{}, dpi:{}".format(fs, dpi_set))
    plt.plot([0, 1, 2, 3], [3, 4, 2, 5])
    plt.savefig(str(fs) + "-" + str(dpi_set) + ".png")


if __name__ == "__main__":
    figsize = (2, 2)
    for i in range(1, 4):
        plot(figsize, i*72)

    for i in [2, 4, 6]:
        plot((i, i), 72)

Jupyter

 

 

REF

https://www.cnblogs.com/lijunjie9502/p/10327151.html

 

 

 

問題:

1、生成的柱狀圖中,橫軸標簽相互遮蓋。

橫軸標簽相互遮擋

 

2、保存的圖片太小,邊緣幾乎被裁切掉了。

布局不合適圖片

 

方案:

問題1:

 

第1種方法:旋轉X軸標簽, 旋轉-15度

plt.xticks(rotation=-15) 

旋轉標簽

 

第2種方法:縮小X軸字體,字體縮小為5

plt.xticks(fontsize=5) 

縮小X軸標簽

第3種方法:長標簽換行,需換行標簽前加’\n’換行

x = ['American Indian/Eskimo/Aleut', '\n'+'Asian or Pacific Islander', 'Black', 'White', 'Other'] 

在這里插入圖片描述

第4種方法:橫縱軸顛倒。

plt.barh(df['sport_type'], df['score']) # 繪制橫向柱狀圖

 

第5種方法:拉長畫布。第一個是長,第二個是寬,記得要把它放在最前面來自定義畫布。

plt.figure(figsize=(25,10))

 

問題2:

保存圖片(plt.savefig()前加入一行代碼就好,讓Matplotlib自行調整。

plt.tight_layout()

注意:必須是plt.savefig 前加入。

 

REF

https://blog.csdn.net/qq_36017609/article/details/108657017

https://www.jianshu.com/p/01ed72b2aeee


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM