精华内容
下载资源
问答
  • 条形图非常通用,易于阅读,并且相对...在这种情况下,堆积条形图是一个很好的选择,它让我们能更好地比较和分析数据。在本文中,我们将探讨如何使用Python的Matplotlib构建这些可视化图形。我将使用一个简单的数...

    条形图非常通用,易于阅读,并且相对容易构建。

    ffb60b6f675239bb8aa15399a8da1d4a.png

    就像任何可视化一样,条形图也有一些缺点,例如它们的可伸缩性较差。

    条形图太多会使人感到难以阅读,尤其是在当我们处理层次化的类别,也就是当我们有需要可视化的组和子组时,这个问题更常见。

    ce2a298b537bc2f6ee364e242410e7a8.png

    在这种情况下,堆积条形图是一个很好的选择,它让我们能更好地比较和分析数据。

    b5c876fa79cbd1787ac825c299e5c22d.png

    在本文中,我们将探讨如何使用Python的Matplotlib构建这些可视化图形。

    我将使用一个简单的数据集来保存全球的游戏副本的销售数据(虽然这个数据集已经过时,但它适合我们的示例)。

    import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('../data/vgsales.csv')df.head()

    58600ff2ec36ae8a4073f46b9ad8e796.png

    我们接下来要将平台和地区的销售情况可视化。

    将区域划分为列很有帮助,我们只需要按“Platform”对记录进行分组,并将NA_Sales到Global_Sales的值相加。

    Groupby → Sum → Select Fields。

    df_grouped = df.groupby('Platform').sum()[['NA_Sales','EU_Sales','JP_Sales','Other_Sales', 'Global_Sales']]df_grouped

    2d12ea60856659f6eaee1564c249c21c.png

    数据中的值太多了,即使排除空记录,图表中的条形图也会太多。

    我们为每个平台和区域绘制一个条形图,并查看结果。

    # 定义图形fig, ax = plt.subplots(1, figsize=(16, 6))# 数字xx = np.arange(0, len(df_grouped.index))# 绘条形图plt.bar(x - 0.3, df_grouped['NA_Sales'], width = 0.2, color = '#1D2F6F')plt.bar(x - 0.1, df_grouped['EU_Sales'], width = 0.2, color = '#8390FA')plt.bar(x + 0.1, df_grouped['JP_Sales'], width = 0.2, color = '#6EAF46')plt.bar(x + 0.3, df_grouped['Other_Sales'], width = 0.2, color = '#FAC748')# 去除spinesax.spines['right'].set_visible(False)ax.spines['top'].set_visible(False)# x y细节plt.ylabel('Millions of copies')plt.xticks(x, df_grouped.index)plt.xlim(-0.5, 31)# 网格线ax.set_axisbelow(True)ax.yaxis.grid(color='gray', linestyle='dashed', alpha=0.2)#标题和图例plt.title('Video Game Sales By Platform and Region', loc ='left')plt.legend(['NA', 'EU', 'JP', 'Others'], loc='upper left', ncol = 4)plt.show()

    1d2c5ea5080d541db718df627077e4dd.png

    正如我们所料,这张图很难阅读,那么让我们试试堆积条形图并做一些调整。

    我们在绘制之前对值进行排序,这样可以更好地理解顺序,更容易比较条形图。我们将在“Global Sales”列中这样操作。

    ## 排序值df_grouped = df_grouped.sort_values('Global_Sales')df_grouped

    e2b6f4de3bc87480bddfb4b1471bf890.png

    在前文中,我们为每个区域构建了一个簇状条形图,其中宽度参数和x轴上的调整帮助我们拟合了每个平台的区域。

    类似地,我们将为每个区域绘制堆积条形图。这次,我们用bottom/left参数告诉Matplotlib正在绘制的条形图是什么样。

    plt.bar([1,2,3,4], [10,30,20,5])plt.bar([1,2,3,4], [3,4,5,6], bottom = [10,30,20,5])plt.show()plt.barh([1,2,3,4], [10,30,20,5])plt.barh([1,2,3,4], [3,4,5,6], left = [10,30,20,5])plt.show()

    62bb4f48824f4226acaabca36c256ba1.png

    我们可以使用循环来绘制条形图,为第一个集合中的“bottom”参数传递一个零列表,并为下一个区域累积以下值。

    fields = ['NA_Sales','EU_Sales','JP_Sales','Other_Sales']colors = ['#1D2F6F', '#8390FA', '#6EAF46', '#FAC748']labels = ['NA', 'EU', 'JP', 'Others']# 图形和轴fig, ax = plt.subplots(1, figsize=(12, 10))# 绘图left = len(df_grouped) * [0]for idx, name in enumerate(fields): plt.barh(df_grouped.index, df_grouped[name], left = left, color=colors[idx]) left = left + df_grouped[name]# 标题、图例、标签plt.title('Video Game Sales By Platform and Region\n', loc='left')plt.legend(labels, bbox_to_anchor=([0.55, 1, 0, 0]), ncol=4, frameon=False)plt.xlabel('Millions of copies of all games')# 去除spinesax.spines['right'].set_visible(False)ax.spines['left'].set_visible(False)ax.spines['top'].set_visible(False)ax.spines['bottom'].set_visible(False)# 调整界限并绘制网格线plt.ylim(-0.5, ax.get_yticks()[-1] + 0.5)ax.set_axisbelow(True)ax.xaxis.grid(color='gray', linestyle='dashed')plt.show()

    4c68a6af402bd12304bf74c80c0b6aa5.png

    太好了,这比上一个图更易读。

    目前我们的需求是比较平台的总销售和了解每个平台的组成。

    可以比较不同字段的总数和同一条内的区域,而另一方面用不同的条形图来比较不同的地区可能会产生很大的误导。

    在这种情况下,我们可以跨图比较NA区域,因为每个条形图都有相同的起始点,但是比较其他区域就不那么容易了。以X360为例,它的JP值比PS2低,但是很难比较其他值是比Wii高还是低。

    7ddd0ea877b0c5cd14bfdeba708c20a6.png

    95a64ad5aea516538237908c89a74eee.png

    假设我们更改栈的顺序,以Other Sales作为第一个条,并按Other Sales对记录进行排序。应该更容易分辨出哪个更重要。

    ## 排序值df_grouped = df_grouped.sort_values('Other_Sales')fields = ['Other_Sales', 'NA_Sales','EU_Sales','JP_Sales']colors = ['#1D2F6F', '#8390FA', '#6EAF46', '#FAC748']labels = ['Others', 'NA', 'EU', 'JP']

    c960fcad8708e93140ab8428f31ac2bc.png

    在此可视化图形中有两个基本元素,即列堆栈中类别的顺序和行的顺序。

    如果我们想要强调一个区域,可以选择字段对记录排序,并使用它作为最左边的条。

    或者可以按总数对记录进行排序,并将堆栈与具有较高值的类别排序。

    堆积条形图对于比较类别和可视化非常有用,我们可以利用它的更多优势。

    可以集中展示整体的各个部分。为了达到这个目标,我们须准备数据并计算每个地区的销售比例。

    fields = ['Other_Sales', 'NA_Sales','EU_Sales','JP_Sales']df_grouped = df.groupby('Platform').sum()# 在某些情况下,全球销售额并不等于所有地区的总和#所以我要重新计算df_grouped['Global_Sales'] = df_grouped[fields].sum(axis=1)# 为每个地区的全球销售额比例创建一个列for i in fields: df_grouped['{}_Percent'.format(i)] = df_grouped[i] / df_grouped['Global_Sales']df_grouped.sort_values('NA_Sales_Percent', inplace=True)df_grouped

    baabac525913c95b823d8c61ec1f5266.png

    我们几乎可以重复之前做的操作。

    # 变量labels = ['NA', 'EU', 'JP', 'Others']colors = ['#1D2F6F', '#8390FA', '#6EAF46', '#FAC748']title = 'Video Game Sales By Platform and Region\n'subtitle = 'Proportion of Games Sold by Region'def plot_stackedbar_p(df, labels, colors, title, subtitle): fields = df.columns.tolist() # 图形和轴 fig, ax = plt.subplots(1, figsize=(12, 10))# 绘图 left = len(df) * [0] for idx, name in enumerate(fields): plt.barh(df.index, df[name], left = left, color=colors[idx]) left = left + df[name]# 标题和副标题 plt.title(title, loc='left') plt.text(0, ax.get_yticks()[-1] + 0.75, subtitle)# 图例 plt.legend(labels, bbox_to_anchor=([0.58, 1, 0, 0]), ncol=4, frameon=False)# 去除spines ax.spines['right'].set_visible(False) ax.spines['left'].set_visible(False) ax.spines['top'].set_visible(False) ax.spines['bottom'].set_visible(False)# 格式化x xticks = np.arange(0,1.1,0.1) xlabels = ['{}%'.format(i) for i in np.arange(0,101,10)] plt.xticks(xticks, xlabels)# 调整界限并绘制网格线 plt.ylim(-0.5, ax.get_yticks()[-1] + 0.5) ax.xaxis.grid(color='gray', linestyle='dashed')plt.show()plot_stackedbar_p(df_filter, labels, colors, title, subtitle)

    6bde1a343fae2a33785934833c809c40.png

    这是一个很好的可视化每个地区的销售比例的方法,也更容易比较其他类别,因为所有的条形图都在同一点结束。

    在我看来,当只有两个类别时,用100%堆积条形图来可视化比例会更好,因为有一个固定的起点和另一个固定的终点,所以很容易将差异可视化并比较值。

    最后我们尝试构建一个同时包含正值和负值的堆积条形图,为本例创建一个虚拟数据帧。

    # 列表sales_revenue = [1230, 1240, 1170, 1050, 1380, 1480, 1400, 1410, 1360, 1415, 1530]interest_revenue = [150, 155, 159, 176, 290, 240, 195, 146, 180, 182, 210]fixed_costs = [-810, -810, -815, -815, -780, -780, -750, -750, -750, -770, -910] variable_costs =[-380, -410, -415, -370, -520, -655, -715, -670, -515, -510, -420]# dict的列表my_dict = {'sales_revenue': sales_revenue, 'interest_revenue': interest_revenue, 'fixed_costs': fixed_costs, 'variable_costs': variable_costs}# dict到dfresult_df = pd.DataFrame(my_dict)result_df

    771bd805fc3e45a223ba545845022bd4.png

    需求是每个月有一个正的条形图,分为销售和利息收入,和一个负的条形图,分为固定成本和可变成本。

    我们需要把interest_revenue放在上面,所以在绘图时使用sales_revenue作为' bottom '参数。

    我们希望将fixed_costs放在顶部作为负数,将用fixed_costs作为“bottom”参数来绘制variable_cost。

    plt.bar(result_df.index, result_df['interest_revenue'], bottom = result_df['sales_revenue'], color = '#5E96E9', width =0.5)plt.bar(result_df.index, result_df['variable_costs'], bottom = result_df['fixed_costs'], color = '#E17979', width =0.5)

    93f3ddb4296f6783f4754d2309cf63cb.png

    剩下的和我们之前做的非常相似。

    fig, ax = plt.subplots(1, figsize=(16, 8))plt.bar(result_df.index, result_df['sales_revenue'], color = '#337AE3', width =0.5)plt.bar(result_df.index, result_df['interest_revenue'], bottom = result_df['sales_revenue'], color = '#5E96E9', width =0.5)plt.bar(result_df.index, result_df['fixed_costs'], color = '#DB4444', width =0.5)plt.bar(result_df.index, result_df['variable_costs'], bottom = result_df['fixed_costs'], color = '#E17979', width =0.5)# x和y的极限plt.xlim(-0.6, 10.5)plt.ylim(-1600, 2000)# 去除spinesax.spines['right'].set_visible(False)ax.spines['left'].set_visible(False)ax.spines['top'].set_visible(False)ax.spines['bottom'].set_visible(False)# 网格ax.set_axisbelow(True)ax.yaxis.grid(color='gray', linestyle='dashed', alpha=0.7)# x 标签xticks_labels = ['Jan', 'Fev', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov']plt.xticks(result_df.index , labels = xticks_labels)# 标题和图例legend_label = ['Sales Revenue', 'Interest Revenue', 'Variable Costs', 'Fixed Costs']plt.legend(legend_label, ncol = 4, bbox_to_anchor=([1, 1.05, 0, 0]), frameon = False)plt.title('My Company - 2020\n', loc='left')plt.show()

    c7d6403d6e0049f9230a55a3c8e33c2d.png

    就这样,我们创建了很多堆积条形图,并尝试用了不同的应用程序来实现这种方便的可视化技术。

    资源:

    Matplotlib 条形图(https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.bar.html)

    Matplotlib 堆积条形图(https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/bar_stacked.html)

    Matplotlib 水平条形图(https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/bar_stacked.html)

    展开全文
  • 我需要为一些likert数据制作一个发散条形图。我用的是熊猫,但如果没有熊猫的话,方法可能会相似。关键机制是在开始时添加一个不可见的缓冲区。在likert_colors = ['white', 'firebrick','lightcoral','gainsboro','...

    我需要为一些likert数据制作一个发散条形图。我用的是熊猫,但如果没有熊猫的话,方法可能会相似。关键机制是在开始时添加一个不可见的缓冲区。在likert_colors = ['white', 'firebrick','lightcoral','gainsboro','cornflowerblue', 'darkblue']

    dummy = pd.DataFrame([[1,2,3,4, 5], [5,6,7,8, 5], [10, 4, 2, 10, 5]],

    columns=["SD", "D", "N", "A", "SA"],

    index=["Key 1", "Key B", "Key III"])

    middles = dummy[["SD", "D"]].sum(axis=1)+dummy["N"]*.5

    longest = middles.max()

    complete_longest = dummy.sum(axis=1).max()

    dummy.insert(0, '', (middles - longest).abs())

    dummy.plot.barh(stacked=True, color=likert_colors, edgecolor='none', legend=False)

    z = plt.axvline(longest, linestyle=' ', color='black', alpha=.5)

    z.set_zorder(-1)

    plt.xlim(0, complete_longest)

    xvalues = range(0,complete_longest,10)

    xlabels = [str(x-longest) for x in xvalues]

    plt.xticks(xvalues, xlabels)

    plt.show()

    这种方法有许多局限性。首先,条形图不再有黑色轮廓,而图例将有一个额外的空白元素。我只是隐藏了图例(我想可能有一种方法可以只隐藏单个元素)。我不确定是否有一种方便的方法使这些条有一个轮廓,而不将轮廓添加到缓冲元素中。在

    首先,我们建立一些颜色和虚拟数据。然后我们计算左边两列的宽度和最中间一列的一半(我知道分别是“SD”、“D”和“N”)。我找到最长的列,并使用它的宽度来计算其他列所需的差异。接下来,我将这个新的buffer列插入第一列的位置,标题为空(这让我觉得很恶心,让我告诉你)。为了更好地度量,我还根据[2]的建议在中间条的中间位置后面添加了一条垂直线(axvline)。最后,我通过偏移x轴的标签来调整x轴,使其具有适当的比例。在

    你可能想要更多的水平空间在左边-你可以很容易地这样做添加到“最长”。在

    [2]海伯格、理查德·M.和纳奥米·B·罗宾斯。”利克特量表和其他应用的发散堆积条形图设计〉,《统计软件杂志》57.5(2014):1-32。在

    展开全文
  • 简介堆积条形图作为条形图的一种,能够显示单个项目与整体之间的关系。不仅可以直观的看出每...绘制堆积条形图基础版1 import matplotlib.pyplot as plot2 3 A = [5., 30., 45., 22.]4 B = [5., 25., 50., 20.]5 6 ...

    简介

    堆积条形图作为条形图的一种,能够显示单个项目与整体之间的关系。不仅可以直观的看出每个系列的值,还能够反映出系列的总和,尤其是当需要看某一项目的总和以及其组成各系列值的比重时,最适合使用堆积条形图。

    68626ac73b29e2bd042ec53ba0f1f74d.png

    绘制堆积条形图基础版

    1 import matplotlib.pyplot as plot2 3 A = [5., 30., 45., 22.]4 B = [5., 25., 50., 20.]5 6 X = range(4)7 plot.bar(X, A, color = 'b')8 plot.bar(X, B, color = 'r', bottom = A)9 plot.show()

    上述代码:

    #3 各项目组成系列值一。

    #4 各项目组成系列值二。

    #7 绘制各项目组成系列值一条形图。

    #8 绘制各项目组成系列值二条形图,并声明指定系列值一在下面。

    32888f4a6d55c77b97cdcc856f6ab18c.png

    绘制堆积条形图(基础版)

    绘制堆积条形图进阶版

     1 import numpy 2 import matplotlib.pyplot as plot 3  4 data = numpy.array([[5., 30., 45., 22.], 5                     [5., 25., 50., 20.], 6                     [1.,  2.,  1.,  1.]]) 7  8 color_list = ['b', 'g', 'r'] 9 10 X = numpy.arange(data.shape[1])11 for i in range(data.shape[0]):12     S = numpy.sum(data[:i], axis = 0)13     plot.bar(X, data[i], bottom = S, color = color_list[i % len(color_list)])14 15 plot.show()

    上述代码:

    #4 定义各项目组成系列值。

    #8 定义项目各组成系列值条形图颜色。

    #10 定义堆积条形图坐标 x 系列数值。

    #12 计算各项目组成系列值之和,其中 numpy.sum( ) 函数调用格式如下:

    sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue)

    sum( ) 函数传递参数如下:

    [1] a:矩阵源;

    [2] axis:值为 0 时,压缩行,即将每一列的元素相加,将矩阵压缩为一行;值为 1 时,压缩列,即将每一行的元素相加,将矩阵压缩为一列。

    示例代码:

    a=[[0, 1], [0, 5]]

    print(np.sum(a, axis=0))

    print(np.sum(a, axis=1))

    运行结果:

    [0 6]

    [1 5]

    #13 绘制堆积条形图。

    245b04b24033e60024af3016123a8574.png

    绘制堆积条形图(进阶版)

    小结:

    本文介绍了 Python 基于 matplotlib 绘制堆积条形图的基本操作方法。堆积条形图能够直观地表达各项目总和数值及其组成系列值的比重,对于此类数据的可视化有其独特的优势。


    欢迎大家关注交流,一起学习、讨论!

    展开全文
  • #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time :2021/4/8 13:06 # @Author :weiz # @ProjectName :...import matplotlib.pyplot as plt labels = ['G1', 'G2', 'G3', 'G4', 'G5'] men_means = [2.
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time        :2021/4/8 14:35
    # @Author      :weiz
    # @ProjectName :autoLabeling
    # @File        :111.py
    # @Description :
    import matplotlib.pyplot as plt
    import numpy as np
    
    labels = ['G1', 'G2', 'G3', 'G4', 'G5']
    men_means = [20, 35, 30, 35, 27]
    women_means = [25, 32, 34, 20, 25]
    width = 0.35  # the width of the bars: can also be len(x) sequence
    fig, ax = plt.subplots(figsize=(5, 3), dpi=200)
    ax.bar(labels, men_means, width, label='Men', color='green')
    ax.bar(labels, women_means, width, bottom=men_means, label='Women', color='red')
    ax.set_ylabel('Scores')
    ax.set_title('Scores by group and gender')
    ax.legend()
    for a, b in zip(np.arange(len(labels)), men_means):
        plt.text(a, b / 2, '%.0f' % b, ha='center', va='bottom', fontsize=7)
    
    for a, b, c in zip(np.arange(len(labels)), men_means, women_means):
        plt.text(a, b + c / 2, '%.0f' % c, ha='center', va='bottom', fontsize=7)
    
    plt.show()

    效果如下:

     

    展开全文
  • 我有一个打印的图表,需要显示每个堆积条形图的值。如何显示这些值?在我试过ax.text函数,但它没有给出理想的结果(如图所示)。当图表规格化为1时,我需要显示每个堆叠条形图的实际值(顶部是总数,应该拆分为每个...
  • 原博文2019-08-23 09:36 −import matplotlib as mplimport matplotlib.pyplot as pltx=["a","b","c","d","e","f"]y=[2,3,6,7,9,5,]y1=[5,8,9,3,4,6,]plt.xlim(0,20)plt.barh(x,y,align="ce...01964相关推荐2019-12-...
  • import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif'] = ['Arial Unicode MS']# 生成数据x = np.linspace(0, 20, 20)y1 = np.random.randint(50, 100, 20)y2 = np.random.randint(50,...
  • 我有一个分组条形图,每个条形图都是堆叠的。在我已经用单独的值注释了堆栈的每个部分,现在我想将这些值相加,并注释每个条的总值(高度)。我希望这个注释在每个条的顶部。在这是我使用的两个数据帧之一:df_title =...
  • python-matplotlib绘制堆积条形图

    千次阅读 2019-09-25 23:26:53
    import matplotlib as mplimport matplotlib.pyplot as pltx=["a","b","c","d","e","f"]y=[2,3,6,7,9,5,]y1=[5,8,9,3,4,6,]plt.xlim(0,20)plt.barh(x,y,align="center",color="r",label="y")plt.barh(x,y1,left...
  • @MaxNoe已经用zip和enumerate很优雅地回答了这个问题。但是,对于不熟悉zip和enumerate的用户,以下代码可以... plt.rcdefaults()import numpy as npimport matplotlib.pyplot as pltimport matplotlib.patches as...
  • import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif'] = ['Arial Unicode MS']# 生成数据x = np.linspace(0, 20, 20)y1 = np.random.randint(50, 100, 20)y2 = np.random.randint(50,...
  • 摘要详细介绍python matpltlib中垂直、水平和堆积三种条形图的绘制。目录1、垂直柱形图 垂直柱形图参数详解 多个垂直柱形图并列显示 柱形图高度显示在柱子上方 堆积柱形图2、水平柱形图‍ ‍‍柱形图参数详解‍‍‍...
  • 1、垂直柱形图垂直柱形图参数详解多个垂直柱形图并列显示柱形图高度显示在柱子上方堆积柱形图2、水平柱形图水平柱形图参数详解柱形图(又称柱状图、直方图、条形图)用于各组数据的数量比较,可以简单的分为水平柱形图...
  • 我正在尝试使用 this site的College Scorecard数据在MatPlotLib中创建100%堆积条形图.一共有38列:在[在这里插入学习范围]授予的学位百分比这解释了为什么有38个领域!我有一部分学校想要为其做这张叠图.我试图...
  • matplotlib-19 堆积图

    2020-08-18 10:09:22
    matplotlib-19堆积图堆积图堆积柱状图堆积条形图 堆积图 堆积图是由若干统计图形堆叠起来的统计图形。他是在柱状图和条形图的基础上,进行堆叠而产生的。 堆积柱状图 堆积条形图
  • 我想画一个堆积条形图。然而,我不能减少间距之间的酒吧。我想保持酒吧狭窄,但酒吧之间没有空间或非常小的空间。在我使用以下代码:#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Mon Aug 21 16:56:...
  • 我正试图在堆积条形图中“稳健地”将数据标签居中.下面给出一个简单的代码和结果.如您所见,数据标签并未真正居中于所有矩形.我错过了什么?import numpy as npimport matplotlib.pyplot as pltA = [45, 17, 47]B = ...
  • 我有一个pandas数据框,其中包含多个国家的...我要做的就是为每个人创建一个按国家划分的堆积条形图。在我的数据是什么样子的:person country sector ex_sectorjim US 0.25 0.3333333tim US 0.3333333 0.2john US ...
  • 条形图是对数据进行展示一种方式,并且经常使用,因为条形图是统计图资料分析中最常用的图形。主要特点有: 1、能够使人们一眼看出各个数据的大小。 2、易于比较数据之间的差别。 因此,绘制条形图是每一个学生...
  • python可视化---堆积条形图

    千次阅读 2019-09-30 18:14:01
    import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False x = [1, 2, 3, 4, 5] y = [6, 10, 4, 5, 1...
  • 堆积图--MatplotLib

    2020-10-16 00:10:01
    Barh条形图绘制 堆积图是一种组合式的图形,是将若干图形堆叠起来的统计图形 使用参数bottombottombottom可以使柱形图的柱子向上平移相应的高度。同理对于堆积柱形图,上面的图形只要向上平移第一个图形每根柱子的...
  • matplotlib_堆积&并列

    2019-04-06 22:08:44
    堆积条形图 from matplotlib import pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号 x=[1,2,3,4,5] y=[6,10,...
  • 前面学习了条形图堆积显示方式,其实条形图还有很多表示方式,比如多个条形并列,如下图: 在前面的例子里,只需要稍微修改一下代码,就可以显示多个条形,这样适合同样的数据进行比较,比如上图就是比较男女在...
  • 柱形图(又称柱状图、直方图、条形图)用于各组数据的数量比较,可以简单的分为水平柱形图、垂直柱形图及堆积柱形图。本文详细介绍matpltlib中垂直、水平和堆积三种柱形图的绘制。我的公众号:“pythonic生物人“,...
  • Matplotlib——柱状图条形图包括单数据系列柱状图、多数据系列柱状图、堆积柱状图、百分比柱状图一、matplotlib1、简介Matplotlib 是什么?Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互...
  • 一、堆积图1、堆积柱状如果将函数bar()中的参数bottom的取值设定为列表y、列表y1代表另一个数,函数bar(x,y1,bottom=y,color="r")就会输出堆积柱状代码示例:import matplotlib.pyplot as pltx = [1,2,3,4,5]y =...
  • 图中显示的是bar chart,而不是histogram。...在根据Scironic的建议,我修改了这个demonstration example来制作堆叠的条形图,就像你的图中的那样。在向位置索引添加偏移量(在plt.bar()中的第一个参数)可以防止...
  • matplotlib柱状图-堆积折线图-阶梯图-间断条形图-箱线图基本版(1 of 6),V型凹痕箱线图(2 of 6),箱线图改离群点格式(3 of 6),箱线图隐藏离群点(4 of 6),箱线图水平放(5 of 6),多个箱线图对比(6 of 6)
  • 柱形图(又称柱状图、直方图、条形图)用于各组数据的数量比较,可以简单的分为水平柱形图、垂直柱形图及堆积柱形图。本文详细介绍matpltlib中垂直、水平和堆积三种柱形图的绘制。我的公众号:“pythonic生物人“,...
  • 今天咱们还是接着上次的话题,继续和大家聊聊关于Python绘图相关的东东哦,上次...首先,咱们聊聊在Python中如何绘制经典的堆积折线哦到这可能有朋友会问了:什么是堆积折线呢?其实这个堆积折线在咱们日常生...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

matplotlib堆积条形图