如何使用Plotly直接指定上下界绘制自定义误差棒?
解决方案
核心逻辑非常简单:你只需要提前计算出置信区间上下界相对于y值的偏移量,再传入Plotly的误差棒参数即可,无需修改原生的参数逻辑。
完整可运行代码
import pandas as pd import plotly.express as px # 构造示例DataFrame df = pd.DataFrame({'x':[0, 1, 2], 'y':[6, 10, 2], 'ci_upper':[8,11,2.5], 'ci_lower':[5,9,1.5]}) # 计算上下偏移量 df['error_plus'] = df['ci_upper'] - df['y'] df['error_minus'] = df['y'] - df['ci_lower'] # 绘制带误差棒的折线图 fig = px.line(df, x='x', y='y', markers=True) fig.update_traces( error_y = dict( type='data', symmetric=False, # 开启非对称误差棒 array=df['error_plus'], # 上方偏移量 arrayminus=df['error_minus'] # 下方偏移量 ) ) fig.show()
效果说明
运行上述代码后,生成的误差棒上下端点会完全匹配你指定的ci_upper和ci_lower数值,和你给出的示例效果图完全一致。
如果你需要绘制散点图,仅需将px.line替换为px.scatter即可,误差棒的配置逻辑完全相同。
内容的提问来源于stack exchange,提问作者Johannes Wiesner
相关产品推荐
相关产品推荐

