如何在plotly.py的旭日形图中包裹文字?

问题描述 投票:0回答:1

我想将文本换行,就像是长句子一样,请添加换行符,以使字体具有更大的大小,例如,像此处enter image description here

我有以下数据可以从https://gofile.io/d/8djNCU下载:

enter image description here

这是我的代码:

import plotly.express as px
import pandas as pd

df = pd.read_excel("/Users/stuff/Desktop/test.xlsx")

g1 = df.Group1
g2 = df.Group2
g3 = df.Group3
g4 = df.Group4
my_values = df.Values

df = pd.DataFrame(
    dict(group1=g1, group2=g2, group3=g3, group4=g4, my_values=my_values)
)

fig = px.sunburst(df, path=['group1', 'group2', 'group3', 'group4'], values='my_values')

fig.show()

当前的旭日形图如下所示:enter image description here

是否可以包装文字?我希望长文本尽可能大,并按中断线进行分割,就像我要使用图像进行演示一样。

python plotly sunburst-diagram
1个回答
1
投票

通过在customwrap函数中调整宽度,我能够做出漂亮的旭日形。答案是由Plotly的GitHub社区提供的。

import plotly.express as px
import pandas as pd
import textwrap

def customwrap(s,width=30):
    return "<br>".join(textwrap.wrap(s,width=width))

df = pd.read_excel("/Users/stuff/Desktop/test.xlsx")

g1 = df.Group1.map(customwrap)
g2 = df.Group2.map(customwrap)
g3 = df.Group3.map(customwrap)
g4 = df.Group4.map(customwrap)
my_values = df.Values

df = pd.DataFrame(
    dict(group1=g1, group2=g2, group3=g3, group4=g4, my_values=my_values)
)
fig = px.sunburst(df, path=['group1', 'group2', 'group3', 'group4'], values='my_values')

fig.show()
© www.soinside.com 2019 - 2024. All rights reserved.