可以使用 px.sunburst 编辑单个类别的字体大小和颜色吗?
It is possible to edit single categories fontsize and color with px.sunburst?
我创建了一个漂亮的 px.sunburst
图表。现在我想格式化旭日形的单个“节点”。例如,我想更改主“节点”的字体大小并使其变为粗体或更改特定“节点”的颜色。
不幸的是我在 Sunburst documentation 中没有找到这样的功能。
uniformtext
仅格式化整个文本,使用 color
和 color_discrete_map
我无法控制单个节点:
伪代码:
import plotly.express as px
data = dict(
character=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
parent=["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
value=[10, 14, 12, 10, 2, 6, 6, 4, 4],
)
fig = px.sunburst(
data,
names='character',
parents='parent',
values='value',
color='parent',
color_discrete_map={
'': 'rgb(56, 75, 126)',
'Eve': 'lightgreen',
'Cain': 'black',
'Enos': 'black',
},
)
fig.show()
是否可能,即
- 单独更改 Eve 的“子节点”的颜色?
- 将“主节点”Eves 字体大小更改为 15 并加粗?
我没有在文档中找到此类功能。
要分别更改这些旭日形节点的颜色,您需要设置 color='character'
。保留离散地图会导致:
对于字体大小,我会让 plotly 解决这个问题,因为在幕后它正在调整字体大小以使其适合其区域。话虽如此,您可以通过多种方式设置字体大小,也许实现您想要的:
使用 fig.update_traces(textfont=dict(size=[20]))
将设置第一项的字体大小。
要调整更多节点,请根据需要扩展数组以与 character
中的项目对齐,例如:
fig.update_traces(textfont=dict(family=['Arial','Courier New'],size=[8,20,8]))
将 character
中的第二项设置为 Courier New
它的字体为 20,第一个和第三个元素的字体大小为 8。
最后,将它们放在一起(这可能取决于您可用的字体)以设置 Eve 的字体大小并使其变为粗体:
fig.update_traces(textfont=dict(family=['Arial Black', 'Arial'],size=[15]))
我创建了一个漂亮的 px.sunburst
图表。现在我想格式化旭日形的单个“节点”。例如,我想更改主“节点”的字体大小并使其变为粗体或更改特定“节点”的颜色。
不幸的是我在 Sunburst documentation 中没有找到这样的功能。
uniformtext
仅格式化整个文本,使用 color
和 color_discrete_map
我无法控制单个节点:
伪代码:
import plotly.express as px
data = dict(
character=["Eve", "Cain", "Seth", "Enos", "Noam", "Abel", "Awan", "Enoch", "Azura"],
parent=["", "Eve", "Eve", "Seth", "Seth", "Eve", "Eve", "Awan", "Eve" ],
value=[10, 14, 12, 10, 2, 6, 6, 4, 4],
)
fig = px.sunburst(
data,
names='character',
parents='parent',
values='value',
color='parent',
color_discrete_map={
'': 'rgb(56, 75, 126)',
'Eve': 'lightgreen',
'Cain': 'black',
'Enos': 'black',
},
)
fig.show()
- 单独更改 Eve 的“子节点”的颜色?
- 将“主节点”Eves 字体大小更改为 15 并加粗?
我没有在文档中找到此类功能。
要分别更改这些旭日形节点的颜色,您需要设置 color='character'
。保留离散地图会导致:
对于字体大小,我会让 plotly 解决这个问题,因为在幕后它正在调整字体大小以使其适合其区域。话虽如此,您可以通过多种方式设置字体大小,也许实现您想要的:
使用 fig.update_traces(textfont=dict(size=[20]))
将设置第一项的字体大小。
要调整更多节点,请根据需要扩展数组以与 character
中的项目对齐,例如:
fig.update_traces(textfont=dict(family=['Arial','Courier New'],size=[8,20,8]))
将 character
中的第二项设置为 Courier New
它的字体为 20,第一个和第三个元素的字体大小为 8。
最后,将它们放在一起(这可能取决于您可用的字体)以设置 Eve 的字体大小并使其变为粗体:
fig.update_traces(textfont=dict(family=['Arial Black', 'Arial'],size=[15]))