• 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种方法:长标签换行,需换行标签前加’ ’换行

    x = ['American Indian/Eskimo/Aleut', '
    '+'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

  • 相关阅读:
    android常用工具类
    SharedPreferences的工具类
    Dialog对话框管理工具类
    Logger日志管理工具类
    android 复制、粘贴文字
    sd卡文件操作
    AndroidManifest.xml file missing 解决方案
    Jar mismatch! Fix your dependencies
    时间戳和字符串之间的互相转换
    常见块元素和内联元素
  • 原文地址:https://www.cnblogs.com/emanlee/p/14401562.html
Copyright © 2020-2023  润新知