zoukankan      html  css  js  c++  java
  • 机器学习-数据可视化神器matplotlib学习之路(一)

    直接上代码吧,说明写在备注就好了,这次主要学习一下基本的画图方法和常用的图例图标等

    from matplotlib import pyplot as plt
    import numpy as np
    
    #这里是最最基本的代码了
    #x轴-2到2均分50个点
    x = np.linspace(-2, 2, 50)
    y = x**2
    plt.plot(x, y)
    plt.show()

    下面要加一下元素和样式了

    from matplotlib import pyplot as plt
    import numpy as np
    
    x = np.linspace(-2, 2, 50)
    y = x**2
    plt.xlim((-3,3))#设置x坐标范围
    plt.ylim((0,5))#设置y坐标范围
    plt.plot(x, y,
             linestyle='--',#线条的样式
             linewidth=2.0,#线条宽度
             alpha=0.5,#透明度,数字越小越透明,范围(0-1)
             marker='.',#每个点的样式
             color='r',#颜色
             label='y=x**2'#图例
             )
    #打开图例,不然plt.plot里面的label属性会无效
    plt.legend(
        loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
               )
    plt.show()

    到这里,如果我们想要x轴刻度自由控制一下可以用 plt.xticks 来实现

    from matplotlib import pyplot as plt
    import numpy as np
    
    x = np.linspace(-2, 2, 50)
    y = x**2
    plt.xlim((-3,3))#设置x坐标范围
    plt.ylim((0,5))#设置y坐标范围
    plt.plot(x, y,
             linestyle='--',#线条的样式
             linewidth=2.0,#线条宽度
             alpha=0.5,#透明度,数字越小越透明,范围(0-1)
             marker='.',#每个点的样式
             color='r',#颜色
             label='y=x**2'#图例
             )
    #打开图例,不然plt.plot里面的label属性会无效
    plt.legend(
        loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
               )
    
    new_xticks = np.linspace(-2, 2, 6)
    plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度
    
    plt.show()

    这里x轴刻度就和之前发生一点变化,有时候不需要用具体数字而是一个文字标签显示,比如y轴0以上的为normal,2以上为good,4以上为very good,

    可以用 plt.yticks([0, 2, 4], [‘normal’,'good','very good']) 来实现,接下来就来实现一下

    from matplotlib import pyplot as plt
    import numpy as np
    
    x = np.linspace(-2, 2, 50)
    y = x**2
    plt.xlim((-3,3))#设置x坐标范围
    plt.ylim((0,5))#设置y坐标范围
    plt.plot(x, y,
             linestyle='--',#线条的样式
             linewidth=2.0,#线条宽度
             alpha=0.5,#透明度,数字越小越透明,范围(0-1)
             marker='.',#每个点的样式
             color='r',#颜色
             label='y=x**2'#图例
             )
    #打开图例,不然plt.plot里面的label属性会无效
    plt.legend(
        loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
               )
    
    new_xticks = np.linspace(-2, 2, 6)
    plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度
    
    plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very good$'])#前后对应上就好了,$包住的是调整默认字体
    
    plt.show()

    接下来就是对坐标轴的处理了,我们想要移动坐标,用方框的左边和下班做y轴和x轴,右边和上班把颜色去掉,然后移动一下x和y轴

    from matplotlib import pyplot as plt
    import numpy as np
    
    x = np.linspace(-2, 2, 50)
    y = x**2
    plt.xlim((-3,3))#设置x坐标范围
    plt.ylim((0,5))#设置y坐标范围
    plt.plot(x, y,
             linestyle='--',#线条的样式
             linewidth=2.0,#线条宽度
             alpha=0.5,#透明度,数字越小越透明,范围(0-1)
             marker='.',#每个点的样式
             color='r',#颜色
             label='y=x**2'#图例
             )
    #打开图例,不然plt.plot里面的label属性会无效
    plt.legend(
        loc='upper right'#指定图例位置,这里是右上,默认为best会自动选择最优的位置
               )
    
    new_xticks = np.linspace(-2, 2, 6)
    plt.xticks(new_xticks)#在-2到2之间平均显示6个刻度
    
    plt.yticks([0, 2, 4], [r'$normal$', r'$good$', r'$very good$'])#前后对应上就好了,$包住的是调整默认字体
    
    gca = plt.gca()
    gca.spines['right'].set_color('none')#将图像方框右边颜色取消
    gca.spines['top'].set_color('none')#将图像方框上边颜色取消
    gca.xaxis.set_ticks_position('bottom')#x轴设为方框下边
    gca.yaxis.set_ticks_position('left')#y轴设为方框左边
    gca.spines['bottom'].set_position(('data', 1))#将方框下边也就是x轴移动到y=1的位置
    gca.spines['left'].set_position(('data', 0))#将方框左边也就是y轴移动到x=0的位置
    
    plt.show()

    这里的方法稍微有点麻烦,折腾了一下终于大功告成了!今天就到这儿,下次准备学习一下更怎样在图中用文字和其它说明

  • 相关阅读:
    MySQL Workbench的使用教程 (初级入门版)
    优化MySQL语句的十个建议
    Openfire+Spark+Spark Web安装配置(一)
    agsxmpp官方源代码
    (转载)Oracle中删除外键约束、禁用约束、启用约束
    8.手工备份恢复备用数据库(练习10、11)
    (转载)图文推荐给开发人员非常实用的站点
    13.服务器管理恢复RMAN备份(练习20)
    9.手工备份恢复表空间时间点恢复(练习12.13.14)
    12.服务器管理恢复RMAN配置(练习19)
  • 原文地址:https://www.cnblogs.com/yifengjianbai/p/10251305.html
Copyright © 2011-2022 走看看