You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly旭日图设置insidetextorientation='radial'时标签错位如何修复

R Plotly旭日图radial文本方向标签错位问题

使用R语言Plotly包绘制旭日图(sunburst)时,即便绘制结构非常简单的图表,设置参数insidetextorientation = 'radial'后也会出现部分标签严重偏移错位的问题。

问题复现

复现代码如下:

library(plotly)

my_labels <- c("A","B","C","AA","AB","AC","BA","BB","CA","CB","CC")
my_parents <- c("","","","A","A","A","B","B","C","C","C")
my_values <- c(15,23,7,3,5,7,6,17,1,2,4)

plot_ly(labels = my_labels,parents = my_parents,values = my_values,type = 'sunburst',
branchvalues = 'total',insidetextorientation = 'radial')

运行效果:
运行效果示例

从运行效果可以看到,左侧的"B"和"BA"标签存在明显错位。放大任意父级扇区时也会触发同类问题,若将参数修改为insidetextorientation = 'auto',该异常就不会出现。

修复方案

  • 方案1:升级Plotly包至最新版本,手动指定固定文本字号,不要使用默认自适应字号,可大幅降低错位出现概率,调整后代码如下:
plot_ly(labels = my_labels,parents = my_parents,values = my_values,type = 'sunburst',
branchvalues = 'total',insidetextorientation = 'radial', textfont = list(size = 12))
  • 方案2:如果没有强制要求文本必须径向排布,直接设置insidetextorientation = 'auto'即可完全规避错位问题,Plotly会自动根据每个扇区的角度选择可读性最好的文本排布方向。
  • 方案3:若上述方案仍无法解决,可适当调整画布宽高比、微调各扇区的数值占比,避开文本坐标计算的临界角度即可消除错位。

该问题本质是Plotly底层渲染逻辑的已知bug,触发场景为扇区角度接近垂直方向边界时的文本坐标计算偏差,目前最新版本已覆盖绝大多数常规使用场景的修复。

内容的提问来源于stack exchange,提问作者king_of_limes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:39:27