【bar堆叠图形绘制】

绘制条形图示例

在数据可视化中,条形图是一种常用的图表类型,用于比较不同类别的数据值。Python的matplotlib库为我们提供了方便易用的功能来绘制条形图。

1. 基本条形图

首先,我们展示如何绘制基本的条形图。假设我们有一个包含十个类别的数据集,其中每个类别都有两个相关的数据值。我们使用matplotlib.pyplot库来绘制这个图。

python 复制代码
from matplotlib import pyplot as plt
import random

x = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']

# 设置 y1 和 y2 数组
y1 = []
y2 = []
for j in range(10):
    y1.append(random.randint(10, 30))
    y2.append(random.randint(1, 10))

# 绘制条形图并添加图例
plt.bar(range(len(x)), y1, label='y1')
plt.bar(range(len(x)), y2, label='y2', alpha=0.5)

# 设置 x、y 轴标签和范围
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(-1, len(x))
plt.ylim(0, max(max(y1), max(y2)) + 5)

# 添加 x 轴刻度和轴标签
plt.xticks(range(len(x)), x, rotation=45)

# 添加图例
plt.legend()

plt.show()

上述代码绘制了一个基本的条形图,其中y1y2分别表示两组数据,对应于每个类别的值。我们使用不同的颜色和透明度来区分这两组数据,并添加了图例以标识不同的数据。

2. 堆叠条形图

接下来,我们展示如何绘制堆叠条形图。假设我们有四组数据,每组数据包含了五个类别的值。我们使用matplotlib.pyplot库来绘制这个图。

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

data1 = [20, 30, 40, 50, 60]
data2 = [30, 50, 70, 90, 110]
data3 = [15, 25, 35, 45, 55]
data4 = [22, 33, 44, 55, 66]

labels = ['A', 'B', 'C', 'D', 'E']

plt.bar(labels, data1, label='Data 1')
plt.bar(labels, data2, label='Data 2', bottom=data1)
plt.bar(labels, data3, label='Data 3', bottom=[sum(x) for x in zip(data1, data2)])
plt.bar(labels, data4, label='Data 4', bottom=[sum(x) for x in zip(data1, data2, data3)])
plt.legend()
plt.show()

上述代码绘制了一个堆叠条形图,其中每组数据通过堆叠的方式展示。我们使用bottom参数来指定每组数据的起始高度,从而实现了数据的堆叠效果。图例展示了每个数据组的标签,方便比较不同类别的值。

相关推荐
安冬的码畜日常13 小时前
【D3.js in Action 3 精译_029】3.5 给 D3 条形图加注图表标签(上)
开发语言·前端·javascript·信息可视化·数据可视化·d3.js
安冬的码畜日常17 小时前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺
卡卡_R-Python19 小时前
Tableau数据可视化入门
信息可视化·tableau
搞大屏的小北 BI19 小时前
国内旅游:现状与未来趋势分析
信息可视化·数据分析·旅游·数据可视化·bi 工具
凭栏落花侧1 天前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
bin91531 天前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
bin91532 天前
【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和常规型数字格式的区别
大数据·前端·数据库·信息可视化·数据分析·excel·数据可视化
安冬的码畜日常2 天前
【D3.js in Action 3 精译_028】3.4 小节 DIY 实战:使用 Observable 在线绘制 D3 条形图
前端·javascript·信息可视化·数据可视化·d3.js·observable
FUXI_Willard2 天前
MATLAB绘图基础9:多变量图形绘制
开发语言·matlab·信息可视化·数据可视化·matlab绘图
bin91532 天前
【EXCEL数据处理】000014 案例 EXCEL分类汇总、定位和创建组。附多个操作案例。
信息可视化·数据挖掘·数据分析·excel·数据可视化·数据图表·excel 数据分析