PHP前端开发

如何使用 Matplotlib 在直方图中表示中心点和置信区间?

百变鹏仔 5天前 #Python
文章标签 直方图

直方图中如何表示中心点和置信区间?

您正在寻找的方法是使用错误条条形图。对于您提供的具有中心点和置信区间的分组数据,错误条条形图非常有用。

要绘制此类图,您可以使用 matplotlib 库。matplotlib 提供了 errorbar 函数,它允许您指定中心点、置信区间的上界和下界。

以下是使用 matplotlib 绘制错误条形图的一个示例代码:

import matplotlib.pyplot as plt# 数据准备data = {    'A': [        {'core1': 10, 'up1': 12, 'down1': 8},        {'core2': 15, 'up2': 18, 'down2': 12}    ],    'B': [        {'core1': 7,  'up1': 9,  'down1': 5},        {'core2': 12, 'up2': 14, 'down2': 10}    ],    'C': [        {'core1': 9,  'up1': 11, 'down1': 7},        {'core2': 14, 'up2': 16, 'down2': 12}    ]}# 创建一行两列的子图fig, axs = plt.subplots(1, 2)# 遍历数据并绘制错误条形图for i, (key, values) in enumerate(data.items()):    # 获取数据    core1s = [value['core1'] for value in values]    up1s = [value['up1'] for value in values]    down1s = [value['down1'] for value in values]    core2s = [value['core2'] for value in values]    up2s = [value['up2'] for value in values]    down2s = [value['down2'] for value in values]    # 绘制错误条形图    axs[i].errorbar(core1s, up1s, down1s, linestyle='none', marker='o')    axs[i].errorbar(core2s, up2s, down2s, linestyle='none', marker='o')# 设置标签axs[0].set_title('组A')axs[1].set_title('组B')# 显示图形plt.show()

此代码将为每个数据集绘制一个带有置信区间的错误条形图。