Python 我是否可以生成一个没有数据集且仅在matplotlib中具有相关值(中值、四分位数等)的箱线图?

Python 我是否可以生成一个没有数据集且仅在matplotlib中具有相关值(中值、四分位数等)的箱线图?,python,python-3.x,matplotlib,seaborn,Python,Python 3.x,Matplotlib,Seaborn,作为我的单独应用程序的一部分,我已经计算了中间值、下/上四分位数、最小值和最大值,并将这些值写入文件,我想使用这些特定值构建箱线图 是否有一种方法可以使用matplotlib(或seaborn)手动指定这些值中的每一个,而不是提供一个数据数组(我不需要异常值)?我试着查看文档,没有发现任何特别相关的内容,但我可能忽略了一些东西 比如: plt.boxplot(median=median_val, quartiles=(lower, upper), range=(min, max)) 这将是理想

作为我的单独应用程序的一部分,我已经计算了中间值、下/上四分位数、最小值和最大值,并将这些值写入文件,我想使用这些特定值构建箱线图

是否有一种方法可以使用matplotlib(或seaborn)手动指定这些值中的每一个,而不是提供一个数据数组(我不需要异常值)?我试着查看文档,没有发现任何特别相关的内容,但我可能忽略了一些东西

比如:

plt.boxplot(median=median_val, quartiles=(lower, upper), range=(min, max))

这将是理想的。我也对任何web解决方案都持开放态度。

matplotlib中有一个内置函数,让您指定计算的统计信息,而不是计算的原始数据,从而避免创建自己的函数

您需要从
Axes
对象而不是从
plt
调用它作为方法:

import matplotlib.pyplot as plt

stats = [
    {'med': 5, 'q1': 2, 'q3': 6, 'whislo': 1, 'whishi': 8},
    {'med': 4, 'q1': 2, 'q3': 6, 'whislo': 1, 'whishi': 8}
]

_, ax = plt.subplots();
ax.bxp(stats, showfliers=False);
重要的是,您的输入需要是一个字典列表,对应于要绘制的框列表(即使只有1个)


完美的可能复制品!非常感谢!:)