美文网首页
matplotlib可视化

matplotlib可视化

作者: 文嘉达_0da8 | 来源:发表于2020-06-28 16:40 被阅读0次

    一、线形图

    import numpy as np
    import matplotlib.pyplot as plt
    data={
        'name':['张三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'math':[78,79,83,92],
        'city':['北京','上海','广州','北京']
    }
    df=pd.DataFrame(data)
    Out[ ]:
        name  sex   math  city
    0   张三  female  78  北京
    1   李四  female  79  上海
    2   王五  male    83  广州
    3   小明  male    92  北京
    

    1. 基本使用

    plt.plot(df.index,df['math'])
    

    2. 颜色与线型

    plt.plot(df.index,df['math'],color='r')
    plt.plot(df.index,df['math'],color='#FFFA500')  #也可以使用RGB值来更改线条颜色
    

    linestyle可以指定线条的形状,如可以绘制虚线,linewidth可以指定线条的宽度。

    plt.plot(df.index,df['math'],linestyle='--',lineswidth=5)
    

    3. 点标记

    plt.plot(df.index,df['math'],marker='D')
    

    二、柱状图

    1. 透明度

    alpha参数可以设置

    import matplotlib.pyplot as plt
    data=[23,85,72,43,52]
    plt.bar(range(len(data)),data,color='royalblue',alpha=0.7)
    

    2. 网格线

    grid用于绘制网格线,可以通过参数个性化设置

    plt.bar(range(len(data)),data,color='royalblue',alpha=0.7)
    plt.grid(color='#95a5a6',linestyle='--',linewidth=1,axis='y',alpha=0.6)
    
    • 堆积柱状图
      bottom可以用于设置柱状图的高度,因此可以绘制堆积柱状图
    data1=[23,85,72,43,52]
    data2=[42,35,21,16,9]
    plt.bar(range(len(data)),data1)
    plt.bar(range(len(data)),data2,bottom=data1)
    
    • 并列柱状图
      width用于设置柱状图的宽度,可以绘制并列柱状图
    import numpy as np
    data1=[23,85,72,43,52]
    data2=[42,35,21,16,9]
    width=0.3
    plt.bar(np.arange(len(data1)),data1,width=width)
    plt.bar(np.arange(len(data2))+width,data2,width=width)
    
    • 水平柱状图
      通过barh函数可以绘制水平柱状图
    data1=[23,85,72,43,52]
    plt.barh(range(len(data1)),data1)
    

    3. 刻度与标签

    xticks可以绘制带有标签的柱状图,yticks可以修改Y轴的刻度和标签

    data=[23,85,72,43,52]
    labels=['A','B','C','D','E']
    plt.xticks(range(len(data)),labels)
    plt.bar(range(len(data)),data)
    

    xlabel和ylabel可以给X轴和Y轴添加标签,通过titile添加标题

    plt.xlabel('Class')
    plt.ylabel('Amounts')
    plt.title('Example')
    plt.bar(range(len(data)),data)
    

    4. 图例

    data1=[23,85,72,43,52]
    data2=[42,35,21,16,9]
    width=0.3
    plt.bar(np.arange(len(data1)),data1,width=width,label='one')
    plt.bar(np.arange(len(data2))+width,data2,width=width,label='two')
    plt.legend()
    

    5. 设置数据标签

    plt.text(x,y,str,ha,va,fontsize)
    x,y:表示要在哪里显示数值
    str:表示要显示的具体数值
    ha:在水平方向的位置,有center,left,right三个选项
    va :在垂直方向的位置,有center,top,bottom三个选项
    fontsize:设置str字体大小

    for a,b in zip(x,y):
      plt.text(a,b,b,ha='center',va='bottom',fontsize=11)
    

    6. 图表注释

    plt.annotate('服务器宕机了',xy=(5,1605),xytext=(6,1605),arrowprops=dict(facecolor='black',arrowstyle='->'))
    

    相关文章

      网友评论

          本文标题:matplotlib可视化

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