问题描述
data = go.Scatter(
x=positionsX,y=positionsY,textposition='middle center',mode='markers+text',marker=dict(
color=color,opacity=[1,1,1],size=[100,70,60,30,25]),text=list(sumByRegion.keys()),)
我想根据 sumByRegion.keys() 值将 textposition 更改为“左下角”。
sumByRegion.keys() 是 dict_values([55,24,16,3,2])
我现在拥有的是图像:
编辑:
实际上,我正在寻找为每个单独的项目设置文本位置。因此,我使用了一个 textposition 数组来解决这个问题。
data = go.Scatter(
x=positionsX,textposition=["middle center","middle center","middle right","middle left"],)
解决方法
如果你想显示的文字是字典格式,那么你可以将它转换成你想显示的格式。我不确定所需的格式是什么,但我添加了一个换行符并添加了一个百分号。
import plotly.graph_objects as go
sumByRegion = {'USA':55,'EU':24,'Asia':16,'Africa':2,'South America':3}
text = {'{}<br>{}%'.format(k,v) for k,v in zip(sumByRegion.keys(),sumByRegion.values())}
data = go.Scatter(
x=positionsX,y=positionsY,textposition='bottom left',mode='markers+text',marker=dict(
color=color,opacity=[1,1,1],size=[100,70,60,30,25]),text=text,)