我在r中有一个正在工作的森伯斯特图,但希望对其进行颜色编码。我先用字母标记不同的片断,然后分别用0、1和2标记。我希望所有字母都是一种颜色,所有0都是一种颜色,而1和2相同。
我一直在尝试在森伯斯特中使用“ rects.fill.aes”,但是我不确定如何使用它来使颜色起作用。在本段之后,我将使用我一直在使用的编码过程,以确保您具有所有必要的知识。另外,如果有人知道如何使用它,那么内部节点标签会说“ NoName”以外的其他内容,对于将来的项目,我也将不胜感激。
library(ggsunburst)
nw<-"(A, B, C, D, E, F, ((1)1,(1)1)G, ((2)2,(2)2,1,1,1,1,2,2,2,2)H, ((1)0)AG,((2)0,((1)1)1)I,(((2)2)2)J, K, L, M, ((((1)0)1)1, (((1)0)1)1, (((1)0)1)1,(((2)2)0)2, (((2)2)0)2)N,O,P,Q,R,S,T,U,V,(1,1,1)W,X,(2)Y,Z,AA,AB,AC,AD,((((1)1)1)1)AE,((((1)1)1)1)AF);"
sb<- sunburst_data(nw)
sunburst(sb)
答案 0 :(得分:0)
首先,我相信,如果您从github下载最新版本,则NoName问题已解决。 https://github.com/didacs/ggsunburst
您可以按以下方式使用python ez_setup.py
:
python setup.py install
rects.fill.aes
返回数据帧列表,library(ggsunburst)
nw <-"(A, B, C, D, E, F, ((1)1,(1)1)G, ((2)2,(2)2,1,1,1,1,2,2,2,2)H, ((1)0)AG,((2)0,((1)1)1)I,(((2)2)2)J, K, L, M, ((((1)0)1)1, (((1)0)1)1, (((1)0)1)1,(((2)2)0)2, (((2)2)0)2)N,O,P,Q,R,S,T,U,V,(1,1,1)W,X,(2)Y,Z,AA,AB,AC,AD,((((1)1)1)1)AE,((((1)1)1)1)AF);"
sb <- sunburst_data(nw)
是可用于颜色的帧
sunburst_data
您可以使用任何这些列为森伯斯特着色。因为您的名称中包含NA,所以可以为它们分配特定的颜色。当然,您可以根据需要向sb$rects
添加其他列
> head(sb$rects)
xmin xmax ymin ymax x name leaf
1 0.5 1.5 -5 -4 1 A TRUE
2 1.5 2.5 -5 -4 2 B TRUE
3 2.5 3.5 -5 -4 3 C TRUE
4 3.5 4.5 -5 -4 4 D TRUE
5 4.5 5.5 -5 -4 5 E TRUE
6 5.5 6.5 -5 -4 6 F TRUE