精华内容
下载资源
问答
  • 主要介绍了python 画条形图(柱状图)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python 画条形图(柱状图)

    万次阅读 多人点赞 2019-08-24 00:06:35
    文章目录1. 竖放条形图bar(x, height, [width], **kwargs)2. 画横放条形图bar(x, width, [height], **kwargs)3. 并列条形图 条形图(bar chart),也称为柱状图...画条形图要用到 pyplot 中的 bar 函数,该函数的基...


    条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。

    1. 竖放条形图

    画条形图要用到 pyplot 中的 bar 函数,该函数的基本语法为:

    bar(x, height, [width], **kwargs)

    x数组,每个条形的横坐标
    height个数或一个数组,条形的高度
    [width]可选参数,一个数或一个数组,条形的宽度,默认为 0.8
    **kwargs不定长的关键字参数,用字典形式设置条形图的其他属性

    **kwargs 中常设置的参数包括图形标签 label,颜色标签 color,不透明度 alpha 等。

    假设某项针对男女大学生购买饮用水爱好的调查结果如下表:

    碳酸饮料69
    绿茶74
    矿泉水64
    其他26
    果汁15
    总计2228

    画出男生饮用水情况的直方图,代码如下:

    import matplotlib.pyplot as plt
    
    # 这两行代码解决 plt 中文显示的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
    buy_number = [6, 7, 6, 1, 2]
    
    plt.bar(waters, buy_number)
    plt.title('男性购买饮用水情况的调查结果')
    
    plt.show()
    

    图形:
    在这里插入图片描述

    2. 横放条形图

    若要生成横的条形图,则可以使用 barh 函数,其语法与 bar 函数非常类似。

    bar(x, width, [height], **kwargs)

    y数组,每个条形的纵坐标
    width一个数或一个数组,条形的宽度
    [height]可选参数,一个数或一个数组,条形的高度,默认为 0.8
    **kwargs不定长的关键字参数,用字典形式设置条形图的其他属性

    代码:

    import matplotlib.pyplot as plt
    
    # 这两行代码解决 plt 中文显示的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
    buy_number = [6, 7, 6, 1, 2]
    
    plt.barh(waters, buy_number)  # 横放条形图函数 barh
    plt.title('男性购买饮用水情况的调查结果')
    
    plt.show()
    

    在这里插入图片描述

    3. 并列条形图

    若要将男生与女生的调查情况画出两个条形图一块显示,则可以使用 bar 或 barh 函数两次,并调整 bar 或 barh 函数的条形图位置坐标以及相应刻度,使得两组条形图能够并排显示。

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 这两行代码解决 plt 中文显示的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    # 输入统计数据
    waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他')
    buy_number_male = [6, 7, 6, 1, 2]
    buy_number_female = [9, 4, 4, 5, 6]
    
    bar_width = 0.3  # 条形宽度
    index_male = np.arange(len(waters))  # 男生条形图的横坐标
    index_female = index_male + bar_width  # 女生条形图的横坐标
    
    # 使用两次 bar 函数画出两组条形图
    plt.bar(index_male, height=buy_number_male, width=bar_width, color='b', label='男性')
    plt.bar(index_female, height=buy_number_female, width=bar_width, color='g', label='女性')
    
    plt.legend()  # 显示图例
    plt.xticks(index_male + bar_width/2, waters)  # 让横坐标轴刻度显示 waters 里的饮用水, index_male + bar_width/2 为横坐标轴刻度的位置
    plt.ylabel('购买量')  # 纵坐标轴标题
    plt.title('购买饮用水情况的调查结果')  # 图形标题
    
    plt.show()
    

    显示:
    在这里插入图片描述

    展开全文
  • python画条形图

    2017-07-13 14:17:00
    import numpy as npimport matplotlib.pyplot as pltN = 5menMeans = (20, 35, 30, 35, 27)menStd = (2, 3, 4, 1, 2)ind = np.arange(N) # the x locations for the groupswidth = 0.35 # the width of the barsfi.....
    import numpy as np
    import matplotlib.pyplot as plt

    N = 5
    menMeans = (20, 35, 30, 35, 27)
    menStd = (2, 3, 4, 1, 2)

    ind = np.arange(N) # the x locations for the groups
    width = 0.35 # the width of the bars

    fig, ax = plt.subplots()
    rects1 = ax.bar(ind, menMeans, width, color='r', yerr=menStd)

    womenMeans = (25, 32, 34, 20, 25)
    womenStd = (3, 5, 2, 3, 3)
    rects2 = ax.bar(ind + width, womenMeans, width, color='y', yerr=womenStd)

    # add some
    ax.set_ylabel('Scores')
    ax.set_title('Scores by group and gender')
    ax.set_xticks(ind + width)
    ax.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))

    ax.legend((rects1[0], rects2[0]), ('Men', 'Women'))


    def autolabel(rects):
    # attach some text labels
    for rect in rects:
    height = rect.get_height()
    ax.text(rect.get_x() + rect.get_width() / 2., 1.05 * height, '%d' % int(height),
    ha='center', va='bottom')


    autolabel(rects1)
    autolabel(rects2)

    plt.show()

    转载于:https://www.cnblogs.com/altlb/p/7160235.html

    展开全文
  • python 画画条条形形图图(柱柱状状图图)实实例例 这篇文章主要介绍了python 画条形图(柱状图)实例具有很好的参考价值希望对大家有所帮助一 跟随小编 过来看看吧 条形图 bar chart也称为柱状图是一种以长方形的长度为...
  • 本文实例为大家分享了python使用Matplotlib画条形图的具体代码,供大家参考,具体内容如下数据中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其2017年上半年的GDP分别为12406.8亿、13908.57亿、9386.87亿...

    本文实例为大家分享了python使用Matplotlib画条形图的具体代码,供大家参考,具体内容如下

    数据

    中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其2017年上半年的GDP分别为12406.8亿、13908.57亿、9386.87亿、9143.64亿。

    代码

    # encoding:utf-8

    import matplotlib.pyplot as plt

    # 构建数据

    GDP = [12406.8,13908.57,9386.87,9143.64]

    # 中文乱码的处理

    plt.rcParams['font.sans-serif'] =['Microsoft YaHei']

    plt.rcParams['axes.unicode_minus'] = False

    # 绘图

    plt.bar(range(4), GDP, align = 'center',color='steelblue', alpha = 0.8)

    # 添加轴标签

    plt.ylabel('GDP')

    # 添加标题

    plt.title('Comparing about four cities GDP')

    # 添加刻度标签

    plt.xticks(range(4),['Beijing','Shanghai','Tianjin','Chongqing'])

    # 设置Y轴的刻度范围

    plt.ylim([5000,15000])

    # 为每个条形图添加数值标签

    for x,y in enumerate(GDP):

    plt.text(x,y+100,'%s' %round(y,1),ha='center')# 显示图形plt.show()

    plt.show()

    画图

    15378467721c53U784067b72.jpg

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 一、条形图绘制参数详解1、bar(left, height, width=0.8, bottom=None, color=None, edgecolor=None, linewidth=None, tick_label=None, xerr=None, yerr=None, label = None, ecolor=None, align, log=False, **...

    一、条形图绘制参数详解

    1、bar(left, height, width=0.8, bottom=None, color=None, edgecolor=None, linewidth=None, tick_label=None, xerr=None, yerr=None, label = None, ecolor=None, align, log=False, **kwargs)

    x:传递数值序列,指定条形图中x轴上的刻度值

    height:传递数值序列,指定条形图y轴上的高度

    width:指定条形图的宽度,默认为0.8

    bottom:用于绘制堆叠条形图

    color:指定条形图的填充色

    edgecolor:指定条形图的边框色

    linewidth:指定条形图边框的宽度,如果指定为0,表示不绘制边框

    tick_label:指定条形图的刻度标签

    xerr:如果参数不为None,表示在条形图的基础上添加误差棒

    yerr:参数含义同xerr

    label:指定条形图的标签,一般用以添加图例

    ecolor:指定条形图误差棒的颜色align:指定x轴刻度标签的对齐方式,默认为center,表示刻度标签居中对齐,如果设置为edge,则表示在每个条形的左下角呈现刻度标签

    log:bool类型参数,是否对坐标轴进行log变换,默认为False

    **kwargs:关键字参数,用于对条形图进行其他设置,如透明度等

    1 #条形图的绘制--垂直条形图

    2 #读入数据

    3 GDP = pd.read_excel('Province GDP 2017.xlsx')4 '''

    5 Province GDP6 北京 2.87 上海 3.018 广东 8.999 江苏 8.5910 重庆 1.9511 天津 1.8612 '''

    13 #设置绘图风格(不妨使用R语言中的ggplot2风格)

    14 plt.style.use('ggplot')15 #绘制条形图

    16 plt.bar(x = range(GDP.shape[0]), #指定条形图x轴的刻度值

    17 height = GDP.GDP, #指定条形图y轴的数值

    18 tick_label = GDP.Province, #指定条形图x轴的刻度标签

    19 color = 'steelblue', #指定条形图的填充色

    20 width = 0.8

    21 )22 #添加y轴的标签

    23 plt.ylabel('GDP(万亿)')24 #添加条形图的标题

    25 plt.title('2017年度6个省份GDP分布')26 #为每个条形图添加数值标签

    27 for x,y inenumerate(GDP.GDP):28 plt.text(x,y+0.1,'%s' %round(y,1),ha='center')29 #显示图形

    30 plt.show()

    1501858-20190924203137772-2143103535.png

    1501858-20190925195333603-330032447.png

    1 #条形图的绘制--水平条形图

    2 #对读入的数据作升序排序

    3 GDP.sort_values(by = 'GDP', inplace =True)4 #绘制条形图

    5 plt.barh(y = range(GDP.shape[0]), #指定条形图y轴的刻度值

    6 width = GDP.GDP, #指定条形图x轴的数值

    7 tick_label = GDP.Province, #指定条形图y轴的刻度标签

    8 color = 'steelblue', #指定条形图的填充色

    9 )10 #添加x轴的标签

    11 plt.xlabel('GDP(万亿)')12 #添加条形图的标题

    13 plt.title('2017年度6个省份GDP分布')14 #为每个条形图添加数值标签

    15 for y,x inenumerate(GDP.GDP):16 plt.text(x+0.1,y,'%s' %round(x,1),va='center')17 #显示图形

    18 plt.show()

    1501858-20190924203711108-1339893477.png

    1501858-20190925195413350-1443043709.png

    ③绘制堆叠条形图

    1 importpandas as pd2 importmatplotlib.pyplot as plt3 #条形图的绘制--堆叠条形图

    4 #读入数据

    5 Industry_GDP = pd.read_excel('Industry_GDP.xlsx')6 #取出四个不同的季度标签,用作堆叠条形图x轴的刻度标签

    7 Quarters =Industry_GDP.Quarter.unique()8 #取出第一产业的四季度值

    9 Industry1 = Industry_GDP.GPD[Industry_GDP.Industry_Type == '第一产业']10 #重新设置行索引

    11 Industry1.index =range(len(Quarters))12 #取出第二产业的四季度值

    13 Industry2 = Industry_GDP.GPD[Industry_GDP.Industry_Type == '第二产业']14 #重新设置行索引

    15 Industry2.index =range(len(Quarters))16 #取出第三产业的四季度值

    17 Industry3 = Industry_GDP.GPD[Industry_GDP.Industry_Type == '第三产业']18

    19 #绘制堆叠条形图

    20 #中文乱码和坐标轴负号的处理

    21 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']22 plt.rcParams['axes.unicode_minus'] =False23 #各季度下第一产业的条形图

    24 plt.bar(x = range(len(Quarters)), height=Industry1, color = 'steelblue', label = '第一产业', tick_label =Quarters)25 #各季度下第二产业的条形图

    26 plt.bar(x = range(len(Quarters)), height=Industry2, bottom = Industry1, color = 'green', label = '第二产业')27 #各季度下第三产业的条形图

    28 plt.bar(x = range(len(Quarters)), height=Industry3, bottom = Industry1 + Industry2, color = 'red', label = '第三产业')29 #添加y轴标签

    30 plt.ylabel('生成总值(亿)')31 #添加图形标题

    32 plt.title('2017年各季度三产业总值')33 #显示各产业的图例

    34 plt.legend(loc =2,fontsize = 'small')35 #显示图形

    36 plt.show()

    1501858-20190925195614371-1992331943.png

    1501858-20190925195646254-1111607871.png

    ④水平交错条形图

    1 #条形图的绘制--水平交错条形图

    2 #导入第三方模块

    3 importmatplotlib.pyplot as plt4 importnumpy as np5 importpandas as pd6 #读入数据

    7 HuRun = pd.read_excel('HuRun.xlsx')8 #取出城市名称

    9 Cities =HuRun.City.unique()10 #取出2016年各城市亿万资产家庭数

    11 Counts2016 = HuRun.Counts[HuRun.Year == 2016]12 #取出2017年各城市亿万资产家庭数

    13 Counts2017 = HuRun.Counts[HuRun.Year == 2017]14

    15 #绘制水平交错条形图

    16 bar_width = 0.4

    17 plt.bar(x = np.arange(len(Cities)), height = Counts2016, label = '2016', color = 'steelblue', width =bar_width)18 plt.bar(x = np.arange(len(Cities))+bar_width, height = Counts2017, label = '2017', color = 'indianred', width =bar_width)19 #添加刻度标签(向右偏移0.225)

    20 plt.xticks(np.arange(5)+0.2, Cities)21 #添加y轴标签

    22 plt.ylabel('亿万资产家庭数')23 #添加图形标题

    24 plt.title('近两年5个城市亿万资产家庭数比较')25 #添加图例

    26 plt.legend()27 #显示图形

    28 plt.show()

    1501858-20190925202317098-1112652421.png

    1501858-20190925202406952-1663265662.png

    二、

    1 #Pandas模块之垂直或水平条形图

    2 #读入数据

    3 GDP = pd.read_excel('Province GDP 2017.xlsx')4 #绘图(此时的数据集在前文已经按各省GDP做过升序处理)

    5 GDP.GDP.plot(kind = 'bar', width = 0.8, rot = 0, color = 'steelblue', title = '2017年度6个省份GDP分布')6 #添加y轴标签

    7 plt.ylabel('GDP(万亿)')8 #添加x轴刻度标签

    9 plt.xticks(range(len(GDP.Province)), #指定刻度标签的位置

    10 GDP.Province #指出具体的刻度标签值

    11 )12 #为每个条形图添加数值标签

    13 for x,y inenumerate(GDP.GDP):14 plt.text(x-0.1,y+0.2,'%s' %round(y,1),va='center')15 #显示图形

    16 plt.show()

    1501858-20190925231435967-1873310601.png

    1 #Pandas模块之水平交错条形图

    2 HuRun = pd.read_excel('HuRun.xlsx')3 HuRun_reshape = HuRun.pivot_table(index = 'City', columns='Year', values='Counts').reset_index()4 #对数据集降序排序

    5 HuRun_reshape.sort_values(by = 2016, ascending = False, inplace =True)6 HuRun_reshape.plot(x = 'City', y = [2016,2017], kind = 'bar', color = ['steelblue', 'indianred'],7 rot = 0, #用于旋转x轴刻度标签的角度,0表示水平显示刻度标签

    8 width = 0.8, title = '近两年5个城市亿万资产家庭数比较')9 #添加y轴标签

    10 plt.ylabel('亿万资产家庭数')11 plt.xlabel('')12 plt.show()

    1501858-20190925231818706-1937563494.png

    1 #seaborn模块之垂直或水平条形图

    2 #导入第三方模块

    3 importseaborn as sns4

    5 #读入数据

    6 GDP = pd.read_excel('Province GDP 2017.xlsx')7 sns.barplot(y = 'Province', #指定条形图x轴的数据

    8 x = 'GDP', #指定条形图y轴的数据

    9 data = GDP, #指定需要绘图的数据集

    10 color = 'steelblue', #指定条形图的填充色

    11 orient = 'horizontal' #将条形图水平显示

    12 )13 #重新设置x轴和y轴的标签

    14 plt.xlabel('GDP(万亿)')15 plt.ylabel('')16 #添加图形的标题

    17 plt.title('2017年度6个省份GDP分布')18 #为每个条形图添加数值标签

    19 for y,x inenumerate(GDP.GDP):20 plt.text(x,y,'%s' %round(x,1),va='center')21 #显示图形

    22 plt.show()

    1501858-20190925232216693-252650014.png

    1 #读入数据

    2 Titanic = pd.read_csv('titanic_train.csv')3 #绘制水平交错条形图

    4 sns.barplot(x = 'Pclass', #指定x轴数据

    5 y = 'Age', #指定y轴数据

    6 hue = 'Sex', #指定分组数据

    7 data = Titanic, #指定绘图数据集

    8 palette = 'RdBu', #指定男女性别的不同颜色

    9 errcolor = 'blue', #指定误差棒的颜色

    10 errwidth=2, #指定误差棒的线宽

    11 saturation = 1, #指定颜色的透明度,这里设置为无透明度

    12 capsize = 0.05 #指定误差棒两端线条的宽度

    13 )14 #添加图形标题

    15 plt.title('各船舱等级中男女乘客的年龄差异')16 #显示图形

    17 plt.show()

    1501858-20190925232411310-827359540.png

    1501858-20190925232539159-1994284134.png

    展开全文
  • import numpy as npimport matplotlib.pyplot as pltN = 5menMeans = (20, 35, 30, 35, 27)menStd = (2, 3, 4, 1, 2)ind = np.arange(N) # the x locations for the groupswidth = 0.35 # the width of the barsfi.....
  • 相关推荐 2019-12-07 19:38 − 用python画简单的树 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.0005) if branch &g... 2019-12-19 10:58 ...
  • 1.首先要绘制一个简单的条形图import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import mlabfrom matplotlib import rcParamsfig1 = plt.figure(2)rects =plt.bar(left = (0.2,1),height = (1,0.5...
  • 本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下绘制竖状条形图代码from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font = font_manager....
  • python画条形图

    千次阅读 2019-04-09 16:01:19
    在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条形图,这里特地记录下,已备以后用到,这两张图对我这种小菜鸟来说可是花了一天的时间啊。。。。 import ...
  • Python实现Circos的绘制在线绘制的Circos定局限性,如对数据的要求、个性化的局限和处理速度等的问题,但如果你是一个Pythoneer或者喜欢用更加Pythonic的方式来个性化地绘制Circos,那么今天就跟随我一起用...
  • Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。...我们先来看条形图条形图import matplotlib.pyplot as pltplt.bar([1,3,5,7,9],[5,2,7,8,2...
  • 简介条形图(bar chart)是用宽度相同条形的高度或长短来表示数据多少的图形,可以横置或纵置。纵置时的条形图也称为柱形图(column chart)。绘制条形图1 import matplotlib.pyplot as plot23 data = [5., 25., 50....
  • # 绘制条形图,线条宽度 plt.barh(range(len(x)), y, height=0.3, color="orange") # 绘制横着的条形图,横着的用height控制线条宽度 # 设置字符串到x轴 plt.yticks(range(len(x)),x) plt.grid(alpha=0.3) # 添加网格...
  • 版权声明:本文为博主原创文章,遵循...本文链接:https://blog.csdn.net/u011489887/article/details/788325661.单个条形图并显示数字import matplotlib.pyplot as pltname_list = ['lambda=0', 'lambda=0.05', 'la...
  • 1.首先要绘制一个简单的条形图import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import mlabfrom matplotlib import rcParamsfig1 = plt.figure(2)rects =plt.bar(left = (0.2,1),height = (1,0.5...
  • 本文实例为大家分享了python使用Matplotlib画条形图的具体代码,供大家参考,具体内容如下数据中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其2017年上半年的GDP分别为12406.8亿、13908.57亿、9386.87亿...
  • I want to make an animated barchart in Python and save this animation in mp4 format. My problem is that the frames in the saved video overlay, although I use "blit=True" to tell the animation that onl...
  • I want to make an animated barchart in Python and save this animation in mp4 format. My problem is that the frames in the saved video overlay, although I use "blit=True" to tell the animation that onl...
  • 内容: 1、python 画柱状图 2、python画条形图 3、python画折线图 4、python画饼图 # -* encoding:utf-8 *- import matplotlib.pyplot as plt ##########设置中文显示 from pylab import * import pandas as pd mpl...
  • 主要介绍了python使用Matplotlib画条形图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 条形图(bar chart)和直方图(histogram)有点相似,但也有本质的区别。条形图主要用于对可分类的数据...matplotlib.pyplot.bar是专门用来画条形图的接口,本文总结其用法,并给出代码示例。import matplotlib.p...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,914
精华内容 3,165
关键字:

python画条形图

python 订阅