我正在尝试获取细胞空间数据,并从幻灯片数据中制作一个朝阳图。下面是我使用的 Dataframe 的基本格式。
structure(list(slide = c("LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095",
"LU095", "LU095", "LU095", "LU095", "LU095", "LU095", "LU095"
), stroma_bins = structure(c(1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L,
5L, 5L, 5L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L,
8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L), levels = c("0-10% Stroma",
"10-20% Stroma", "20-30% Stroma", "30-40% Stroma", "40-50% Stroma",
"50-60% Stroma", "60-70% Stroma", "70-80% Stroma", "80-90% Stroma",
"90-100% Stroma"), class = "factor"), cd8_percent_bins = structure(c(1L,
1L, 3L, 1L, 2L, 1L, 2L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L,
3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L), levels = c("0-2% CD8+ Cells",
"2-4% CD8+ Cells", "4-6% CD8+ Cells", "6-8% CD8+ Cells", "8-10% CD8+ Cells",
"10-15% CD8+ Cells", "15-20% CD8+ Cells", ">20% CD8+ Cells"), class = "factor"),
Freq = c(8L, 5L, 1L, 7L, 1L, 7L, 2L, 15L, 4L, 4L, 2L, 15L,
4L, 3L, 2L, 12L, 15L, 1L, 4L, 2L, 1L, 1L, 16L, 12L, 8L, 8L,
4L, 1L, 3L, 1L, 14L, 4L, 17L, 6L, 9L, 11L, 5L, 2L, 51L, 18L,
24L, 24L, 17L, 32L, 21L, 11L)), row.names = c(NA, -46L), class = c("data.table",
"data.frame"))
我在R中使用Plotly,但由于某种原因,它只显示了一个地区的朝阳图的最外层。
这是目前为止我拥有的代码。
fig <- plot_ly(
labels = df2$labels,
parents = df2$parents,
values = df2$values,
type = 'sunburst',
branchvalues = 'total')
fig
1条答案
按热度按时间h7appiyu1#
你做了什么来聚合数据以在图中创建数据集,这不是你的问题。但是,我看到你有3个水平,而且你没有使用参数
ids
。你也没有唯一的 * 子代 * 供Plotly解释。从
dput
输出的数据开始。对于根或顶级
slide
中的所有数据都是相同的,但是我这样写是为了使它更动态,这将返回一行,因为在最高级别中有一个唯一的值。下一级、中级或第一子级
我将采用完全相同的方法,但不是以
slide
开头,而是以stroma_bins
开头。此外,ids
将包含父级和当前级别。下一层有两个父节点,因此 both parents将被包含。它遵循与上两层相同的前提,但是在
parents
列中,我们需要合并父节点。(我只包含了这个框架的一个示例。)接下来,将这三个 Dataframe 组合成一个 Dataframe 。
现在数据准备就绪。