首页 > 解决方案 > python:如何将 p 值重要性添加到 barplot

问题描述

下面我有一个条形图的代码,我还想显示这些图的 Pvalue significane。是否有任何简单的方法来指示这些条的统计显着性

import matplotlib.pyplot as plt

X= [-0.9384815619939103, 1.0755888058123153, 0.061274066731665564, 0.65064830688728]
x_labels = ['A' ,'B', 'C', 'D']

error = [0.23722952107696088, 0.25505883348061764, 0.26038015798295744, 0.26073839861422]
pvalue = [0.000076, 0.000025, 0.813956, 0.012581]

fig, ax = plt.subplots()
ax.bar(x_labels, X, width=0.4, align='center', yerr=error)
plt.show()

标签: pythonmatplotlibp-value

解决方案


这是另一种将 p 值放入情节图例的解决方案。在我看来,与在条形图上绘制 p 值相比,这更令人愉快。

import matplotlib.pyplot as plt

X= [-0.9384815619939103, 1.0755888058123153, 0.061274066731665564, 0.65064830688728]
x_labels = ['A' ,'B', 'C', 'D']

error = [0.23722952107696088, 0.25505883348061764, 0.26038015798295744, 0.26073839861422]
pvalue = [0.000076, 0.000025, 0.813956, 0.012581]

fig, ax = plt.subplots()
cont = ax.bar(x_labels, X, width=0.4, align='center', yerr=error)

for i, art in enumerate(cont):
    art.set_color('C{}'.format(i))

ax.legend(cont.patches, [r'$p={:.6f}$'.format(pv) for pv in pvalue])

图例中带有 p 值的条形图。


推荐阅读