matplotlib 设置图形大小 figsize dpi

时间:2021-02-17 14:19:28   收藏:0   阅读:0

figure语法说明

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)

技术图片

第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

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!