zoukankan      html  css  js  c++  java
  • Python matplotlib基本设置

    一、matplotlib.rcParams

    • rcParams是matplotlib存放设置的字典,修改字典键值以改变matplotlib绘图相关设置。
    • matplotlib.rcParams的常用设置:
    plt.rcParams['font.sans-serif']=['SimHei']  #中文支持
    plt.rcParams['axes.unicode_minus']=False #显示负数
    
    plt.rcParams['lines.linewidth']=10
    plt.rcParams['lines.linestyle']='--'
    plt.rcParams['lines.color']='green'

    二、matplotlib-直方图、条形图、折线图、饼图、散点图、箱线图、极线图、阶梯图

    1.直方图

    给定数据和区间,就可以按区间进行统计-清楚数据分布关系    hist(x,y)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    height=[151,160,180,175,167,158,165,185,170,164,155,176,173,165,175,178,168,174,172]  #学生身高数据
    bins=range(150,190,5)#区间(150-190),以5为步长
    plt.hist(height,bins)
    plt.title("学生身高直方图")
    plt.show()

     

    2.条形图

    给定横纵坐标对应数据,就可将同类数据进行对比   bar(x,y)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    classes=['一班','二班','三班','四班']
    score=[70,80,85,77]
    
    plt.bar(classes,score)
    plt.title("学生成绩条形图")
    plt.show()

     3.折线图

    给定时间区间和数据,折线图通常显示随时间而变化的连续数据,适合体现相等时间间隔数据变化趋势。   plot(x,y)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    year=range(2005,2019)
    height=[157,160,162,164,167,170,173,175,176,179,182,182,182,182,182]
    
    plt.plot(year,height)
    plt.title("学生身高折线图")
    plt.show()

    4.饼图

    显示一个数据系列各项大小与总和的占比关系  pie(data)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    labels=['出行','房贷','饮食','教育']
    data=[2000,8000,3000,5000]
    
    plt.pie(data,labels=labels,autopct='%1.1f%%')#转义%
    plt.title("家庭支出饼图")
    plt.show()

    5.散点图

    散点图是在回归分析中数据点在直角坐标系平面图上的分布图,表示因变量随自变量变化的大致趋势,因此可选择合适的函数进行拟合。  scatter(X,Y)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    data=[[15,10],[16,8],[17,7],[16.5,10],[20,16],[22,18],[25,15],[23,19],[30,8],[32,12],[35,15],[40,10],[38,12]]
    X=[item[0] for item in data]
    Y=[item[1] for item in data]
    
    plt.scatter(X,Y)
    plt.title("超市价格销量散点图")
    plt.xlabel('价格(元)')
    plt.ylabel('销量(件)')
    plt.text(22,16,'牙膏')
    plt.text(18,10,'纸巾')
    plt.text(35,10,'洗衣液')
    plt.show()

     6.箱线图

    显示一组数据分散情况的统计图,用于显示原始数据分布的特征。  boxplot(data)

     

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    data=[90,77,88,85,60,45,95,84,76,81,83,78,65]
    
    plt.title("学生成绩箱线图")
    plt.boxplot(data)
    plt.show()

    7.极线图

    表示极坐标下的数据分布情况,多用于显示具有一定周期性的数据。极径和角度 projection='polarax.plot(theta,r)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    r=[1,2,3,4,5] #极径
    theta=[0,1.5,3.6,4.8,6]#角度
    
    ax=plt.subplot(111,projection='polar')
    ax.plot(theta,r)
    plt.title("极线图")
    
    plt.show()

    8.阶梯图

    阶梯图是一种以无规律、间歇性阶跃的方式表达数值变化的方法,不仅可以像折线图表达数据变化的趋势,还可以反应数据持续的时间。时间和数据  step(x,y)

    import matplotlib.pyplot as plt
    %matplotlib inline
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    
    year=range(2005,2020)
    height=[157,160,162,164,167,170,173,175,176,179,182,182,182,182,182]
    
    
    plt.step(year,height)
    plt.title("学生身高阶梯图")
    plt.show()

  • 相关阅读:
    20145231第九周学习笔记
    20145231第八周学习笔记
    20145231《Java程序设计》第三次实验报告
    20145231第七周学习笔记
    20145231《Java程序设计》第二次实验报告
    测试「20200912测试总结」
    题解「Luogu4774 [NOI2018]屠龙勇士」
    总结「斯坦纳树」
    题解「AT1226 電圧」
    题解「AT1983 [AGC001E] BBQ Hard」
  • 原文地址:https://www.cnblogs.com/bellin124/p/14204951.html
Copyright © 2011-2022 走看看