zoukankan      html  css  js  c++  java
  • matplotlib——散点图、条形图、直方图

    散点图

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    import random
    from pylab import mpl
    mpl.rcParams['font.sans-serif']=['SimHei']
    
    y_1 = [4,2,6,4,5,8,6,7,8,6,9,9,7,10,8,13,10,14,13,15]
    y_2 = [14,15,13,14,12,11,9,10,9,10,7,9,8,7,6,7,5,7,4,2,1]
    x_1 = range(1,21)
    x_2 = range(26,47)
    
    # 设置图片大小
    plt.figure(figsize=(13,5),dpi=80)
    
    # 使用scatter绘制散点图
    plt.scatter(x_1,y_1,label="FF")
    plt.scatter(x_2,y_2,label="GG")
    
    # 调整x轴刻度
    _x = list(x_1)+list(x_2)
    _xtick_lables = ["x.{}".format(i) for i in x_1]
    _xtick_lables += ["y.{}".format(i-25) for i in x_2]
    plt.xticks(_x[::3],_xtick_lables[::3],rotation=-45)
    
    # 添加图例
    plt.legend(loc="upper right")
    
    # 添加描述信息
    plt.xlabel("时间")
    plt.ylabel("温度")
    plt.title("温度随时间变化的情况")
    
    # 展示
    plt.show()
    


    条形图

    a = ["战狼2","哪吒之魔童降世","流浪地球","复仇者联盟4:终局之战","红海行动","美人鱼","唐人街探案2","我和我的祖国","我不是药神","中国机长"]
    b = [56.39,49.34,46.18,42.05,36.22,33.9,33.71,31.46,30.75,28.84]

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    
    # 字体修改样式
    from pylab import mpl
    mpl.rcParams['font.sans-serif']=['SimHei']
    
    a = ["战狼2","哪吒之魔童降世","流浪地球","复仇者联盟4:终局之战","红海行动","美人鱼","唐人街探案2","我和我的祖国","我不是药神","中国机长"]
    b = [56.39,49.34,46.18,42.05,36.22,33.9,33.71,31.46,30.75,28.84]
    
    # 设置图片大小
    plt.figure(figsize=(16,9),dpi=80)
    
    # # 绘制1 名称会有重叠
    # plt.bar(range(len(a)),b)
    # # x轴刻度
    # plt.xticks(range(len(a)),a)
    
    # 绘制2 横着
    plt.barh(range(len(a)),b,height=0.3,color="#c59adf")
    # x轴刻度
    plt.yticks(range(len(a)),a)
    
    # 添加描述信息
    plt.xlabel("总票房/亿")
    plt.ylabel("电影名称")
    plt.title("票房前十")
    
    # 绘制网格
    plt.grid(linestyle="-.")
    
    # 展示
    plt.show()
    

    电源名称=[战狼2,哪吒之魔童降世,流浪地球,复仇者联盟4:终局之战,红海行动,美人鱼,唐人街探案2,我和我的祖国,我不是药神,中国机长]

    总票房(亿)=[56.39,49.34,46.18,42.05,36.22,33.9,33.71,31.46,30.75,28.84]

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    # 字体修改样式
    from pylab import mpl
    mpl.rcParams['font.sans-serif']=['SimHei']
    
    a = ["苹果","西瓜","葡萄","香蕉"]
    b_1 = [12,5,11,7]
    b_2 = [15,8,13,9]
    b_3 = [11,7,10,7]
    
    # 设置图片大小
    plt.figure(figsize=(9,5),dpi=80)
    
    bar_width =0.2  #条宽
    
    # 横坐标
    x_1 = list(range(len(a)))
    x_2 = [i+bar_width for i in x_1]
    x_3 = [i+bar_width*2 for i in x_1]
    
    # 绘制
    plt.bar(range(len(a)),b_1,width=bar_width,color="#ffd998",label="6月14日")
    plt.bar(x_2,b_2,width=bar_width,color="#f3be70",label="6月15日")
    plt.bar(x_3,b_3,width=bar_width,color="#e7ba21",label="6月16日")
    
    #图例
    plt.legend()
    
    # 设置x轴刻度
    plt.xticks(x_2,a)
    
    # 展示
    plt.show()
    


    直方图

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    #没用上 a = ["广东","山东","河南","四川","江苏","河北","浙江","安徽","湖南","湖北","辽宁","广西","黑龙江","云南","福建","江西","陕西","贵州","山西","重庆","吉林","上海","内蒙古","北京","甘肃","新疆","天津","海南","宁夏","青海","西藏"]
    b = [3222 ,3079 ,2640 ,2638 ,2564 ,2081 ,2006 ,1932 ,1903 ,1725 ,1533 ,1347 ,1319 ,1270 ,1197 ,1185 ,1108 ,1075 ,1065 ,1027 ,916 ,889 ,847 ,736 ,711 ,690 ,396 ,245 ,195 ,159 ,69]
    # 计算组数
    d =90 #组距
    num_bins = (max(b)-min(b))//d  #组数
    plt.figure(figsize=(28,10),dpi=80)  #设置图片大小
    # plt.hist(b,num_bins,color="#efd57e")    #绘制频数直方图
    plt.hist(b,num_bins,color="#efd57e",density =1)    #绘制频率直方图
    
    
    plt.xticks(range(min(b),max(b),d))    #设置x轴刻度
    
    # 添加描述性息
    plt.xlabel("人口数/万")
    # plt.ylabel("频数")
    plt.ylabel("频率")
    plt.title("各省人数分布")
    
    plt.grid(color="#94293b") # 绘制网格
    
    plt.show()
    

  • 相关阅读:
    Python 杨辉三角形
    Python 输出由星号*组成的菱形图案
    Python 计算组合数C(n,i),即从n个元素中任选i个,有多少种选法
    Python 快速判断一个数是不是素数
    判断今天是今年的第几天
    Pyhon 输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是 否继续输入下一个成绩,回答“yes”就继续输入下一个成绩,回答“no” 就停止输入成绩
    KMP算法
    递归实现求解幂集问题
    Python 用大量小矩形来画曲线
    Python 所谓的艺术操作2(带颜色)
  • 原文地址:https://www.cnblogs.com/tomoya0307/p/12631411.html
Copyright © 2011-2022 走看看