颜色协调朝阳图

时间:2018-11-26 22:11:51

标签: r ggplot2 sunburst-diagram

我在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)

1 个答案:

答案 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

enter image description here