R 中的极坐标图可视化

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

我在 R 中使用plotly 创建极坐标图,但不确定为什么输出看起来有点奇怪。尽管显示为单独的点,但它似乎没有封装几何线中的最大点。有没有办法纠正这个/我的代码(如下)不正确? polar plot

fig <- plot_ly(type = 'scatterpolar',
               mode = 'lines') 

fig <- fig %>%
  add_trace(
    r = proj_cell_FA_h2_df$Enrichment,
    theta = proj_cell_FA_h2_df$cell_type,
    name = 'test',
    mode = 'markers',
    fill = 'toself'
  ) 

fig <- fig %>% layout(polar = list(
  radialaxis = list(
    visible = T,
    range = c(0,3),
    dtick = 1
  )
),
showlegend = F
)

fig

谢谢!

上面显示的代码,期望几何形状/线性轮廓封装最大点,但似乎只有标记/点点可见 - 为什么?

r ggplot2 plotly visualization
1个回答
0
投票

如果没有所需的示例数据,很难说,但看起来您正在尝试通过每个θ的大量 r 值来追踪一条线。因此,阴谋地尝试导出一个有意义的中心 r per theta(可能是平均值或中位数)。

在这种情况下,您可以使用两条迹线,一条用于点,一条(仅)连接极值点。考虑

iris
数据集:


    library(plotly)
    library(dplyr)
    
    iris_summary <- 
        iris |>
        summarise(Sepal.Length = max(Sepal.Length), .by = Species)
    
    plot_ly(type = 'scatterpolar',
            mode = 'markers') |>
        add_trace(
            data = iris_summary,
            r = ~ Sepal.Length,
            theta = ~ Species,
            fill = 'toself' 
        ) |>
        add_trace(
            r = iris$Sepal.Length,
            theta = iris$Species,
            name = 'test'
        )

© www.soinside.com 2019 - 2024. All rights reserved.