自定义悬浮框Plotly:Python适合文本

时间:2015-04-05 04:34:58

标签: python hover plotly

有没有办法在plotly中自定义悬停文本框?我必须在悬停框中显示的文字很长,不适合屏幕。是否有办法更改悬停文本框的尺寸或使文本更小,使其全部适合屏幕。 更好的是图表侧面的固定框,当我滚动该数据点时显示相应的注释,但我不知道该怎么做。

以下是我正在尝试使用类似长度文本的示例。

import plotly.plotly as py
from plotly.graph_objs import *
import plotly
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd


notes=["Clinton is also navigating delicate ties with Israel and the American Jewish community, an influential group of voters and donors. Israeli Prime Minister Benjamin Netanyahu, a fierce critic of the Obama administration's outreach to Iran, described the framework deal as a threat to the very survival of his nation.", "Fire crews in Cambria County were called to the Revloc duplex Friday morning and found much of the building engulfed in flames. Chief Deputy Coroner Jeffrey Leeds said at least seven people were in the duplex and all, but one, were able to get out safely.Witnesses said Jake Lewis, 24, re-entered the house to rescue 65-year-old Anna LaJudice. But father, Robert LaJudice, told The (Altoona) Mirror.Their bodies were later recovered. The deputy coroner said autopsies determined that both died from smoke and gas inhalation.", "As crews worked to tear down the rest of the home, Ott said she planned to attend a church service and say a prayer for the family."]
balance=[1000,2000,4000]
dates=[1,2,3]


data1 = Data([
    Scatter(
        x=dates,
        y=balance,
        mode='markers',
        text=notes,        
    )
])
layout = Layout(
    title='Hover over the points to see the text',autosize=True,   
)
fig = Figure(data=data1, layout=layout,)

fig['layout'].update(
    hovermode='closest',  
    showlegend=False,     
    autosize=True,       

)
plot_url = py.plot(fig, filename='hover-chart-basic')
py.plot(fig, filename='hover-chart-basic')

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可能需要查看注释以创建固定文本框。请在此处查看我们的文档:https://plot.ly/python/text-and-annotations/您将了解如何为注释或悬停文本指定字体大小。

答案 1 :(得分:-3)

秘诀是插入一个html< br>每隔约90个字符标记您的悬停字符串文本。您可以使用下面的正则表达式匹配每个~90行。

(.{1,90})(\\s|$)