有没有办法改变 plotly.express.sunburst 图中叶子的不透明度?
Posted
技术标签:
【中文标题】有没有办法改变 plotly.express.sunburst 图中叶子的不透明度?【英文标题】:Is there a way to change the opacity of the leafs in a plotly.express.sunburst figure? 【发布时间】:2021-10-16 15:28:04 【问题描述】:我不喜欢具有不同不透明度的叶子类别,我找不到更改它的设置。
我找到了this related topic,但我使用的是 plotly.express 而不是 plotly.graph_object。有没有办法改变它,还是我必须尝试将我的 px-figure 更改为 graph_object? example image
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',
)
fig.show()
【问题讨论】:
【参考方案1】:无论你是使用Plotly Express 还是Plotly Graph Objects 来构建你的身材,这都有效:
fig.update_traces(leaf=dict(opacity = 1))
完整代码:
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',
)
fig.update_traces(leaf=dict(opacity = 1))
fig.show()
【讨论】:
【参考方案2】:正如相关主题中提到的,透明度可以通过相应的图形对象来控制。
import plotly.graph_objects as go
fig =go.Figure(go.Sunburst(
labels=data['character'],
parents=data['parent'],
values=[10, 14, 12, 10, 2, 6, 6, 4, 4],
leaf=dict(opacity=1),
))
fig.update_layout(margin = dict(t=0, l=0, r=0, b=0))
fig.show()
【讨论】:
我认为他们改变透明度是有充分理由的。我认为原因是为了澄清亲子关系。如果我的回答对你有帮助,请考虑采纳为正确答案以上是关于有没有办法改变 plotly.express.sunburst 图中叶子的不透明度?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法改变 UICollectionView 的动画速度?
有没有办法改变 Button.addActionListener 的行为?