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

如何用Plotly绘制带版本标注的API提交量连接散点图?

解决Plotly图表需求的修改方案

先调整你的代码,实现点连线和点上方标注版本的需求,修改后的代码如下:

import plotly.express as px

# 筛选数据并按时间排序,避免连线顺序混乱
filtered_data = final_api.query("info_title=='Avi TestSeDatastoreLevel2 Object API'").sort_values("Year-Month")

# 绘制带连线和版本标注的散点图
fig = px.scatter(
    filtered_data,
    x="Year-Month",
    y="commits",
    color="info_version",
    title='Different Path Version found within one OAS file',
    width=1000,
    height=700,
    line_group="Year-Month",  # 按时间顺序连接所有散点
    text="info_version"      # 将版本名称设为点的标注文本
)

# 把标注文本放在点的上方居中位置
fig.update_traces(textposition='top center')

# 设置Y轴范围后再显示图表(确保布局修改生效)
fig.update_layout(yaxis_range=[0,80])
fig.show()

关键改动说明:

  • 先对数据按Year-Month排序,保证连线是按时间顺序推进的
  • 用line_group="Year-Month"让所有散点按时间轴连成一条线;如果需要同版本的点单独连线,把参数改成"info_version"即可
  • 通过text="info_version"指定版本名称作为标注内容,再用update_traces调整标注位置
  • 调整update_layout和show()的顺序,避免布局修改不生效

其他可替代的图表库推荐
  • Matplotlib:Python最基础的绘图库,语法直观,灵活性强。用plt.scatter画点、plt.plot连线、plt.text加标注就能实现需求,适合生成静态图表。
  • Seaborn:基于Matplotlib的高级统计绘图库,默认风格更美观,代码更简洁,处理时间序列类的可视化场景效率更高。
  • Altair:声明式绘图库,语法贴近数据逻辑,代码简洁易读,天生支持交互式操作,很适合展示API版本迭代的时间序列变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:20:27