我需要用python将文本添加到绘图气泡图上。我只能让文本属性为每个数据点取 1 个值。但是,对于每个数据点,我需要在工具提示上显示两个值:其大小和另一个值。我正在使用列表列表,松散地基于此处的示例。
这是我的代码:
bubbletext = dfenv[['Max_FZ','Argmax_FZ']] # dataframe with the 2 cols I need for text
bubbletext = bubbletext.values.tolist() # puts the df into list of lists
trace1 = Scatter(
x=dfenv['X (ft)'],
y=dfenv['Y (ft)'],
text=bubbletext, # here's the problem
mode='markers',
marker=Marker(
size=dfenv['Max_FZ'],
sizeref= dfenv['Max_FZ'].max() / 1e2**2,
sizemode='area'
)
)
data = Data([trace1])
layout = Layout(showlegend=False)
fig = Figure(data=data)#, layout=layout)
plot_url = py.plot(fig, filename='Envelope_MaxBubblechart')
实际上,您可以为工具提示的文本连接一个新的字符串列,如下所示:
dfenv['text'] = dfenv['Max_FZ'].round(1).astype(str) + 'units' + '<br>at: ' + dfenv['Argmax_FZ']
trace1 = Scatter(
x=dfenv['X (ft)'],
y=dfenv['Y (ft)'],
text=dfenv['text'], #string df column here with line breaks if needed
mode='markers',
marker=Marker(
size=dfenv['Max_FZ'],
sizeref= dfenv['Max_FZ'].max() / 1e2**2,
sizemode='area'
)
)
data = Data([trace1])
fig = Figure(data=data)
plot_url = py.plot(fig, filename='Envelope_MaxBubblechart')