以下是使用Python的matplotlib库来创建“按照治疗方式分层的水平堆叠条形图”的代码示例:
import matplotlib.pyplot as plt
# 数据
treatments = ['治疗1', '治疗2', '治疗3']
categories = ['类别1', '类别2', '类别3', '类别4', '类别5']
data = [[10, 15, 20, 25, 30],
[5, 10, 15, 20, 25],
[20, 25, 30, 35, 40]]
# 创建堆叠条形图
fig, ax = plt.subplots()
# 设置堆叠条形图的宽度
bar_width = 0.35
# 遍历治疗方式并创建堆叠条形图
for i in range(len(treatments)):
# 获取当前治疗方式的数据
treatment_data = data[i]
# 计算堆叠的初始位置
if i == 0:
# 第一个治疗方式的初始位置为0
bottom = [0] * len(categories)
else:
# 其他治疗方式的初始位置是上一个治疗方式的数据之和
bottom = [sum(x) for x in zip(*data[:i])]
# 创建堆叠条形图
ax.barh(categories, treatment_data, bar_width, left=bottom, label=treatments[i])
# 设置图表标题和轴标签
ax.set_title('按照治疗方式分层的水平堆叠条形图')
ax.set_xlabel('数量')
ax.set_ylabel('类别')
# 添加图例
ax.legend()
# 显示图表
plt.show()
这段代码使用了matplotlib的barh
函数来创建水平的堆叠条形图。遍历治疗方式的循环中,使用bottom
参数来设置每个治疗方式的堆叠初始位置,通过累加前面治疗方式的数据来实现堆叠效果。最后,使用legend
函数添加图例,并调用show
函数显示图表。
上一篇:按照治疗/类别对三维图进行着色。
下一篇:按照值列表排序