美文网首页我爱编程机器学习
机器学习之numpy和matplotlib学习(六)

机器学习之numpy和matplotlib学习(六)

作者: SundayCoder | 来源:发表于2017-06-30 21:57 被阅读0次

    今天来讲一下昨天遗留下来的问题---------plt.tight_layout()的作用。
    tight英文翻译过来是紧的意思,tight_layout也是就固定布局的意思。
    为什么需要固定布局呢?参考官方文档http://matplotlib.org/users/tight_layout_guide.html
    学习机器学习一定要多参考官方文档,不知道的东西自己试一试就知道了。
    下面是结合官方文档的教学。
    When you have multiple subplots, often you see labels of different axes overlapping each other.
    翻译过来:
    就是当你有很多的子图的时候,你的子图的lable可能会重叠起来。

    什么是重叠起来呢?看下面图片:


    这里写图片描述 这里写图片描述

    所以plt.tight_layout()函数就是绑定布局,防止因为拉伸布局而使得lable重叠起来。
    参考官方的代码改成的例子。
    去掉了一些我们还没有学习的函数【因为有和没有基本没有区别。】

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author  : SundayCoder-俊勇
    # @File    : figure6.py
    import matplotlib.pyplot as plt
    import numpy as np
    
    def example_plot(ax, fontsize=12):
         ax.plot([1, 2])
         ax.set_xlabel('x-label', fontsize=fontsize)
         ax.set_ylabel('y-label', fontsize=fontsize)
         ax.set_title('Title', fontsize=fontsize)
    
    fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2)
    example_plot(ax1)
    example_plot(ax2)
    example_plot(ax3)
    example_plot(ax4)
    
    plt.show()
    

    这个运行结果就会出现第一幅图片中lable重叠的效果。
    黑魔法来了,使用plt.tight_layout()。
    plt.show()这句代码之前加上plt.tight_layout()
    效果立即不一样【你可以自己拉伸试一下】
    得到的就是一个比较好的效果。

    这里写图片描述

    为了方便,还是把代码全贴出来:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author  : SundayCoder-俊勇
    # @File    : figure6.py
    import matplotlib.pyplot as plt
    import numpy as np
    
    def example_plot(ax, fontsize=12):
         ax.plot([1, 2])
         ax.set_xlabel('x-label', fontsize=fontsize)
         ax.set_ylabel('y-label', fontsize=fontsize)
         ax.set_title('Title', fontsize=fontsize)
    
    fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2)
    example_plot(ax1)
    example_plot(ax2)
    example_plot(ax3)
    example_plot(ax4)
    plt.tight_layout()
    plt.show()
    

    更新完毕##

    相关文章

      网友评论

        本文标题:机器学习之numpy和matplotlib学习(六)

        本文链接:https://www.haomeiwen.com/subject/yqnicxtx.html