You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Plotly绘制单x轴散点图并标注HY_OAS列均值与区间最值

调整后可实现目标效果的代码如下

import plotly.express as px

# 预先计算HY_OAS的三个核心指标,避免重复调用
hy_oas_min = Spreads['HY_OAS'].min()
hy_oas_max = Spreads['HY_OAS'].max()
hy_oas_mean = Spreads['HY_OAS'].mean()

# 初始化散点图,标记均值位置
fig8 = px.scatter(x=[hy_oas_mean], y=[0], color_discrete_sequence=["#ff7f0e"], size=[100])
# 调整x轴范围匹配最值,隐藏刻度标签
fig8.update_xaxes(
    visible=True,
    showticklabels=False,
    range=[hy_oas_min, hy_oas_max]
)
# 放宽y轴范围,预留文本标注的显示空间,隐藏刻度
fig8.update_yaxes(
    visible=True,
    showticklabels=False,
    range=[-0.15, 0.2]
)

# 绘制代表取值范围的水平线
fig8.add_shape(
    type="line",
    x0=hy_oas_min,
    x1=hy_oas_max,
    y0=0,
    y1=0,
    line=dict(color="#1f77b4", width=2)
)

# 添加最小值文本标注
fig8.add_annotation(
    x=hy_oas_min,
    y=-0.07,
    text=f"Min: {round(hy_oas_min, 2)}",
    showarrow=False,
    bgcolor="white",
    bordercolor="#1f77b4",
    borderpad=3
)

# 添加最大值文本标注
fig8.add_annotation(
    x=hy_oas_max,
    y=-0.07,
    text=f"Max: {round(hy_oas_max, 2)}",
    showarrow=False,
    bgcolor="white",
    bordercolor="#1f77b4",
    borderpad=3
)

# 添加均值文本标注
fig8.add_annotation(
    x=hy_oas_mean,
    y=0.07,
    text=f"Mean: {round(hy_oas_mean, 2)}",
    showarrow=False,
    bgcolor="white",
    bordercolor="#ff7f0e",
    borderpad=3
)

# 隐藏冗余图例
fig8.update_layout(showlegend=False)
fig8.show()

可根据自己的需求调整标注的位置偏移、边框颜色、数值保留的小数位数等参数。

内容的提问来源于stack exchange,提问作者bigjdawg43

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:15:03