簡體   English   中英

如何在 plotly 快遞條形圖中添加一條線

[英]How to add a line to a plotly express bar chart

我正在嘗試在plotly的條形圖上添加一條非常簡單的線,並且正在為此努力。 我的 dataframe 包含一列帶bins ,另一列帶有returns數據,可以在此處復制:

{'bins': {0: '(-23.077, 25.877]', 1: '(25.877, 34.666]', 2: '(34.666, 42.552]', 3: '(42.552, 46.044]', 4: '(46.044, 49.302]', 5: '(49.302, 52.746]', 6: '(52.746, 57.075]', 7: '(57.075, 62.349]', 8: '(62.349, 69.171]', 9: '(69.171, 90.975]'}, 'returns': {0: 0.39754, 1: 0.6817, 2: -0.1918399999999998, 3: -0.44406, 4: -0.6611199999999998, 5: -0.0742857142857142, 6: 0.25304, 7: 0.4166, 8: 0.97648, 9: 0.0539999999999999}}

我使用以下代碼從這里創建了一個 plotly 條形圖:

fig = px.bar(dfs, x='bins', y='returns')
fig.show()

在此處輸入圖像描述

我想在條形圖上添加一條代表基准分數的恆定線,並查看了這個: Plotly:如何將趨勢線添加到條形圖?

這些方法似乎被貶低了,我似乎找不到任何方法來做到這一點。 基准清單是這樣的:

[0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858]

我希望它看起來像這樣(這條線應該是直的,為糟糕的油漆工作編輯道歉)

有人知道該怎么做嗎?

在此處輸入圖像描述

您可以使用 Plotly 的水平和垂直形狀添加水平線:

fig.add_hline(y=0.14080542857142858)

我會簡單地使用:

fig.add_traces(go.Scatter(x= dfs.bins, y=dfs.benchmark, mode = 'lines'))

Plot

在此處輸入圖像描述

完整代碼:

import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
dfs = pd.DataFrame({'bins': {0: '(-23.077, 25.877]', 1: '(25.877, 34.666]', 2: '(34.666, 42.552]', 3: '(42.552, 46.044]', 4: '(46.044, 49.302]', 5: '(49.302, 52.746]', 6: '(52.746, 57.075]', 7: '(57.075, 62.349]', 8: '(62.349, 69.171]', 9: '(69.171, 90.975]'}, 'returns': {0: 0.39754, 1: 0.6817, 2: -0.1918399999999998, 3: -0.44406, 4: -0.6611199999999998, 5: -0.0742857142857142, 6: 0.25304, 7: 0.4166, 8: 0.97648, 9: 0.0539999999999999}})
dfs['benchmark'] = [0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858, 0.14080542857142858]

fig = px.bar(dfs, x='bins', y='returns')
fig.add_traces(go.Scatter(x= dfs.bins, y=dfs.benchmark, mode = 'lines'))
fig.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM