zoukankan      html  css  js  c++  java
  • python下matplotlib、pandas的横型条状图作图逐步深入分析

    1.横型条形图

    2.代码1:

    import matplotlib.pyplot as plt
    import matplotlib
    
    from matplotlib import font_manager # 第一步,导出通用字体设置
    #第二步,引出字体模块和位置
    my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
    #如果不设置,就是默认大小,这里的15=1500,6=600,大小为1500和600像素
    plt.figure(figsize=(15, 6))
    #5组数据的比较
    price = [39.5, 39.9, 45.4, 38.9, 33.34]
    plat=['亚马逊', '当当网', '中国图书网', '京东', '天猫']
    """
    绘制水平条形图方法barh
    参数一:y轴
    参数二:x轴
    """
    plt.barh(range(5), price, height=0.7, color='pink', alpha=0.8) # 从下往上画
    plt.yticks(range(5), plat,fontproperties=my_font)
    plt.xlim(30,47) #30~47,各1
    #第三步,增加u和fontproperties=my_font,可加u可不加u
    plt.xlabel(u"价格",fontproperties=my_font)
    plt.ylabel(u'公司',fontproperties=my_font)
    plt.title(u"不同平台图书价格",fontproperties=my_font)
    
    #这是设置柱状条上面的数值,来自price
    for x, y in enumerate(price):
    plt.text(y + 0.2, x - 0.1, '%s' % y)
    
    plt.show()

    3.图1

    4.修改一下,代码2:

    import matplotlib.pyplot as plt
    import matplotlib
    
    from matplotlib import font_manager # 第一步,导出通用字体设置
    #第二步,引出字体模块和位置
    my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
    #如果不设置,就是默认大小,这里的15=1500,6=600,大小为1500和600像素
    plt.figure(figsize=(15, 6))
    
    
    #5组数据的比较
    price = [39.5, 39.9, 45.4, 38.9, 33.4,37.3,38.7,37.9,41.5,39.9,39.2,42.3]
    plat=['1月', '2月', '3月', '4月', '5月','6月','7月','8月','9月','10月','11月','12月']
    """
    绘制水平条形图方法barh
    参数一:y轴
    参数二:x轴
    """
    plt.barh(range(12), price, height=0.7, color='lightgreen', alpha=0.8) # 从下往上画
    plt.yticks(range(12), plat,fontproperties=my_font)
    plt.xlim(30,47) #30~47,各1
    #第三步,增加u和fontproperties=my_font,可加u可不加u
    plt.xlabel(u"系数",fontproperties=my_font)
    plt.ylabel(u'月份',fontproperties=my_font)
    plt.title(u"年度月份系数表",fontproperties=my_font)
    
    #这是设置柱状条上面的数值,来自price
    for x, y in enumerate(price):
    plt.text(y + 0.2, x - 0.1, '%s' % y)
    
    plt.show()
    View Code

    5.图2

    6.数据图3

    7.代码3:

    import matplotlib.pyplot as plt
    import matplotlib
    import pandas as pd
    import xlrd #读取excel
    
    from matplotlib import font_manager # 第一步,导出通用字体设置
    #第二步,引出字体模块和位置
    my_font = font_manager.FontProperties(fname="hwxk.ttf",size=20)
    #如果不设置,就是默认大小,这里的15=1500,6=600,大小为1500和600像素
    plt.figure(figsize=(15, 6))
    
    df=pd.read_excel('22.xls')
    datax=df['month'] #读取月份列,x轴数据
    datay=df['data'] #读取数据列,y轴数据
    
    
    plt.barh(range(12), datay, height=0.7, color='lightgreen', alpha=0.8) # 从下往上画
    plt.yticks(range(12), datax,fontproperties=my_font)
    plt.xlim(30,47) #30~47,各1
    #第三步,增加u和fontproperties=my_font,可加u可不加u
    plt.xlabel(u"系数",fontproperties=my_font)
    plt.ylabel(u'月份',fontproperties=my_font)
    plt.title(u"年度月份系数表",fontproperties=my_font)
    
    #这是设置柱状条上面的数值,来自price
    for x, y in enumerate(datay):
    plt.text(y + 0.2, x - 0.1, '%s' % y)
    
    plt.show()
    View Code

    8.图4

  • 相关阅读:
    AOP代理对象生成
    redis 3.2 新数据结构:quicklist、String的embstr与raw编码方式分界点
    关系数据库/分布式系统一致性模型
    JDK1.8 StampedLock: 解决ReentrantReadWriteLock在读多写少情况下,写线程饥饿问题
    JDK1.8 LongAdder 空间换时间: 比AtomicLong还高效的无锁实现
    相对路径
    python用matplotlib画折线图
    python 信息同时输出到控制台与文件
    keras 设置GPU使用率
    python – 基于pandas中的列中的值从DataFrame中选择行
  • 原文地址:https://www.cnblogs.com/ysysbky/p/12383750.html
Copyright © 2011-2022 走看看