簡體   English   中英

Plotly:如何修改直方圖的懸停模板?

[英]Plotly: How to modify hovertemplate of a histogram?

我想修改 plotly 直方圖的懸停模板。 到目前為止,找不到一種方法:對給定的值進行四舍五入刪除直方圖的名稱(這里:'2012','2013')添加一個名稱以指示值代表什么

所需的懸停文本:

Bin-range: -1.24, 3.31

或者

更好的選擇(帶連字符的范圍):

Bin-range: -1.24 - 3.31

有任何想法嗎?

import plotly.figure_factory as ff
import numpy as np
import pandas as pd

df = pd.DataFrame({'2012': np.random.randn(200),
                   '2013': np.random.randn(200)+1})

fig = ff.create_distplot([df[c] for c in df.columns], 
                         df.columns, bin_size=.25, show_rug=False)
fig.show()

答案:

將以下代碼段添加到您的設置中將生成下面的 plot:

fig.update_traces(hovertemplate ='<i>Bin-range</i>:' + '%{x}' + '<extra></extra>',
                  selector=dict(type="histogram"))

部分selector=dict(type="histogram")僅用於更新直方圖軌跡並單獨保留線條。 '<extra></extra>'部分既酷又神秘,只是從懸停標簽中刪除了20122013

在此處輸入圖像描述

我希望這接近您想要實現的目標。 不過,我必須仔細看看舍入部分。 但總而言之,我認為 plot 看起來還不錯

一些細節和評論:

據我所知,與 plotly.figure_factory.create_distplot 上github上的陳述相反, ff.create_distplot實際上並沒有走向棄用。 只是不再更新了。 此外,似乎ff.create_distplot仍然是創建添加了正態分布或 kde 估計的直方圖的最佳選擇。 所以在可預見的未來,它不會去任何地方。

完整代碼:

import plotly.figure_factory as ff
import numpy as np
import pandas as pd

np.random.seed(123)
df = pd.DataFrame({'2012': np.random.randn(200),
                   '2013': np.random.randn(200)+1})

fig = ff.create_distplot([df[c] for c in df.columns], 
                         df.columns, bin_size=.25, show_rug=False)

fig.update_traces(hovertemplate ='<i>Bin-range</i>:' + '%{x}' + '<extra></extra>',
                  selector=dict(type="histogram"))

#fig.update_layout(hoverinfo = 'x+y+text')

fig.show()

暫無
暫無

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

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