Я создаю график, используя sankeyNetwork в R, и у меня проблемы с опцией colourScale. Я создал настраиваемую цветовую шкалу, и полученный график настолько близок к , чтобы быть правильным, но где-то внутри функции sankeyNetwork он нарушает и связывает две группы с неправильным цветом.
Вот цветовая шкала:
colorJS <- "d3.scaleOrdinal() .domain([\" Akatopora spp.\", \"brown fine bryozoan\", \"Bugula neritina\", \"Bugulina californica\", \"Calliarthron tuberculosum\", \"Cauloramphus echinus\", \"Cellaria mandibulata\", \"Celleporaria brunnea\", \"Ceramiales\", \"Cheilostomatida\", \"Chondracanthus spinosus\", \"Chondracanthus spp.\", \"Corallina officinalisvarchilensis\", \"Corallinales\", \"cream encrusting bryozoan\", \"Crisia occidentalis\", \"Cyclostomatida\", \"Diaperoforma californica\", \"Ectoprocta\", \"Gelidiales\", \"Gelidium robustum\", \"Gigartinales\", \"Gloiocladia laciniata\", \"Haywardipora spp.\", \"Jellyella white\", \"Lithothrix aspergillum\", \"Microcladia coulteri\", \"nongeniculate pink\", \"nongeniculate red\", \"other_algae\", \"Parasmittina tubulata\", \"peach encrusting bryozoan\", \"red_fil_alg\", \"red_turf_alg\", \"Rhodophyta\", \"Rhodymenia spp.\", \"Rhodymeniales\", \"Sarcodiotheca furcata\", \"Thalamoporella californica \"]) .range([\" #FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#DB7093\", \"#FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#DB7093\", \"#FF8C00\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#FF8C00\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#FF8C00\", \"#FF8C00\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#FFB90F\", \"#FF8C00\", \"#FF8C00\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#DB7093\", \"#FF8C00 \"])"
Обратите внимание на тот факт, что «red_fil_alg» и «red_turf_alg» связаны с розовым цветом.
А вот код sankeyNetwork:
sankeyNetwork(Links = links, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize = 20, nodeWidth = 5,
colourScale = colorJS,
LinkGroup="group", NodeGroup = NULL)
Что дает такую цифру:
Если это не очевидно , связи между «other_algae» и «red_fil_alg» и «red_turf_alg» должны быть розовыми, а не оранжевыми. Я попытался решить проблему, удалив пробелы в именах узлов, но это не сработало. Я проверил, совпадают ли имена узлов и ссылок, используя setdiff()
.
Вот ссылки и узлы, если они полезны:
> links
source target value group
1 18 9 1.000000 Ectoprocta
2 18 9 1.500000 Ectoprocta
3 18 9 15.900000 Ectoprocta
4 18 9 1.000000 Ectoprocta
5 18 9 1.000000 Ectoprocta
6 18 9 1.363636 Ectoprocta
7 18 9 1.357143 Ectoprocta
8 18 9 3.025641 Ectoprocta
9 18 9 3.333333 Ectoprocta
10 18 9 1.666667 Ectoprocta
11 18 9 4.934783 Ectoprocta
12 18 9 4.500000 Ectoprocta
13 18 16 1.125000 Ectoprocta
14 18 16 1.250000 Ectoprocta
15 18 16 2.818182 Ectoprocta
16 34 8 1.000000 Rhodophyta
17 34 13 1.000000 Rhodophyta
18 34 13 8.333333 Rhodophyta
19 34 13 1.000000 Rhodophyta
20 34 13 24.655172 Rhodophyta
21 34 13 8.243902 Rhodophyta
22 34 19 1.000000 Rhodophyta
23 34 21 2.000000 Rhodophyta
24 34 21 3.000000 Rhodophyta
25 34 21 2.000000 Rhodophyta
26 34 29 2.555556 Rhodophyta
27 34 29 5.921569 Rhodophyta
28 34 36 1.769231 Rhodophyta
29 34 36 4.187500 Rhodophyta
30 9 0 1.000000 Cheilostomatida
31 9 2 1.500000 Cheilostomatida
32 9 3 15.900000 Cheilostomatida
33 9 5 1.000000 Cheilostomatida
34 9 6 1.000000 Cheilostomatida
35 9 7 1.363636 Cheilostomatida
36 9 14 1.357143 Cheilostomatida
37 9 23 3.025641 Cheilostomatida
38 9 24 3.333333 Cheilostomatida
39 9 30 1.666667 Cheilostomatida
40 9 31 4.934783 Cheilostomatida
41 9 38 4.500000 Cheilostomatida
42 16 1 1.125000 Cyclostomatida
43 16 15 1.250000 Cyclostomatida
44 16 17 2.818182 Cyclostomatida
45 8 26 1.000000 Ceramiales
46 13 4 1.000000 Corallinales
47 13 12 8.333333 Corallinales
48 13 25 1.000000 Corallinales
49 13 27 24.655172 Corallinales
50 13 28 8.243902 Corallinales
51 19 20 1.000000 Gelidiales
52 21 10 2.000000 Gigartinales
53 21 11 3.000000 Gigartinales
54 21 37 2.000000 Gigartinales
55 29 32 2.555556 other_algae
56 29 33 5.921569 other_algae
57 36 22 1.769231 Rhodymeniales
58 36 35 4.187500 Rhodymeniales
> nodes
name
1 Akatopora spp.
2 brown fine bryozoan
3 Bugula neritina
4 Bugulina californica
5 Calliarthron tuberculosum
6 Cauloramphus echinus
7 Cellaria mandibulata
8 Celleporaria brunnea
9 Ceramiales
10 Cheilostomatida
11 Chondracanthus spinosus
12 Chondracanthus spp.
13 Corallina officinalisvarchilensis
14 Corallinales
15 cream encrusting bryozoan
16 Crisia occidentalis
17 Cyclostomatida
18 Diaperoforma californica
19 Ectoprocta
20 Gelidiales
21 Gelidium robustum
22 Gigartinales
23 Gloiocladia laciniata
24 Haywardipora spp.
25 Jellyella white
26 Lithothrix aspergillum
27 Microcladia coulteri
28 nongeniculate pink
29 nongeniculate red
30 other_algae
31 Parasmittina tubulata
32 peach encrusting bryozoan
33 red_fil_alg
34 red_turf_alg
35 Rhodophyta
36 Rhodymenia spp.
37 Rhodymeniales
38 Sarcodiotheca furcata
39 Thalamoporella californica