Matplotlib: Stacked Bar Graphs

2024-01-15 23:40
文章标签 matplotlib bar graphs stacked

本文主要是介绍Matplotlib: Stacked Bar Graphs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我在用matplotlib's stacked bar graph example bar统计图的时候,发现画出的图不能够准确匹配该项的值,几番查找原因,最终在Stack Overflow上找到了答案。以下给出一个 Stacked Bar Graphs demo

 

import numpy as np

import matplotlib.pyplot as plt

N = 3

#('PledMis', 'PledFel', 'FoundFel')

Incarceration = np.array([115.3, 1.99,23.7] )

Probation = np.array([52.0, 45.9, 45.0])

Work = np.array([0, 0.3, 2.4])

Program= np.array([0, 0, 12])

 

ind = np.arange(N)    # the x locations for the groups

width = 0.5           # the width of the bars: can also be len(x) sequence

p1 = plt.bar(ind, Incarceration, width, color='r')

p2 = plt.bar(ind, Probation, width, color='y',bottom=Incarceration)

p3 = plt.bar(ind, Work, width, color='b',bottom= Probation+Incarceration)

p4 = plt.bar(ind, Program, width, color='g',bottom=Work+Probation+Incarceration)

plt.ylabel('Months')

plt.title('Time')

 

plt.xticks(ind+width/2, ('Found Guilty: Felony', 'Pled Guilty: Mis', 'Pled Guilty: Felony' ) )

plt.yticks(np.arange(10,200,10))

plt.legend ((p1[0], p2[0], p3[0], p4[0]), ('Incarceration', 'Probation','Work','Program' ))

 

plt.show()

 

图示结果:


 

如果我们做多个bar并且想要将之堆积起来,更有效的办法是用一个循环并且定义一个bottom自变量,代码如下:

colors = ('r', 'y', 'b', 'g')

data = (Incarceration, Probation, Work, Program)

bottom = np.zeros(N)

for elem, color in zip(data, colors):

    plt.bar(ind, elem, width, bottom=bottom, color=color)

    bottom += elem

 


这篇关于Matplotlib: Stacked Bar Graphs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/610588

相关文章

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

matplotlib绘图中插入图片

在使用matplotlib下的pyplot绘图时,有时处于各种原因,需要采用类似贴图的方式,插入外部的图片,例如添加自己的logo,或者其他的图形水印等。 一开始,查找到的资料都是使用imshow,但是这会有带来几个问题,一个是图形的原点发生了变化,另外一个问题就是图形比例也产生了变化,当然最大的问题是图形占据了整个绘图区域,完全喧宾夺主了,与我们设想的只在绘图区域中占据很小的一块不相符。 经

matplotlib中文乱码问题

在使用Matplotlib进行数据可视化的过程中,经常会遇到中文乱码的问题。显示乱码是由于编码问题导致的,而matplotlib 默认使用ASCII 编码,但是当使用pyplot时,是支持unicode编码的,只是默认字体是英文字体,导致中文无法正常显示,所以显示中文乱码。 文本使用系统默认字体、手动指定字体、使用字体管理器来解决。 一、系统默认字体(全局设置字体) 在Matplotlib中

Matplotlib图像读取和输出及jpg、png格式对比,及透明通道alpha设置

图像像素值 图像像素值一般size为3,也就是通道数,分别代表R,G,B,如果只有单一 一个值则表示灰度值,也就是说一张二维图片,当长和宽都为1080时,那么若是灰度图像,图像尺寸为(1080,1080,1)若是RGB图像则为(1080,1080,3), jpg、png图像格式 jpg图像的灰度值范围和RGB范围为[0,255],数值类型为uint8,也就是无符号整数 png图像的灰度值范

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大

Matplotlib通过axis()配置坐标轴数据详解

坐标轴范围设置 axis()可以直接传入列表[xmin,xmax,ymin,ymax]进行范围设置, 分别可以使用plt.axis()或者画布对象.axis()进行配置 import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 20, 100)y = x*2plt.plot(x, y, 'r')plt.ax

【python 图像切割】matplotlib读取图像,裁剪图像

#-*-coding:utf-8-*-import sysreload(sys)sys.setdefaultencoding('utf-8')import matplotlib.pylab as plt# 加载图像im = plt.imread("E:/ID/2.png")print(im.shape)# (y轴像素点数, x轴像素点数,图像通道数)def plti(im, **kw

怎么使用matplotlib绘制一个从-2π到2π的sin(x)的折线图-学习篇

首先:如果你的环境中没有安装matplotlib,使用以下命令可以直接安装 pip install matplotlib 如何画一个这样的折线图呢?往下看 想要画一个简单的sin(x)在-2π到2π的折线图,我们要拆分成以下步骤: 先导入相关的库文件 我们需要创建一个数学函数相关的图,需要引入 numpy 我们需要绘制图表,所以需要引入matplotlib来绘制图表创建一个x值的数组从