• 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

  • 相关阅读:
    showModalDialog和showModelessDialog使用心得
    C# 实现验证文本框中输入的是数值型??
    将Asp.Net页面输出到EXCEL里去
    timespan 和 datetime 的比较
    使用 Reporting Services 中的窗体身份验证
    DataGrid使用技巧················CSDN 收藏地址。。
    公司如何让留住技术人员??
    如何用多线程来实现ping多台机器??
    Datagrid根据选择的checkbox编辑和更新多行记录····
    做技术,切不可沉湎于技术 !
  • 原文地址:https://www.cnblogs.com/ysysbky/p/12383750.html
Copyright © 2020-2023  润新知