Присвойте цвет каждой точечной точке рассеяния через шестнадцатеричный цветовой вектор - PullRequest
0 голосов
/ 23 апреля 2019

У меня проблема с plotly в R.В базе R я могу создать диаграмму рассеяния с различным цветом для каждого элемента данных через следующий код

> plot(dh$x,dh$y,col=dh$colors,pch=16)

base r plot

Еще когдаЯ пытаюсь сделать то же самое, используя plotly (так как я хотел бы сделать трехмерную диаграмму рассеяния, она не правильно сопоставляет каждый цвет с каждой точкой данных.

p = plot_ly(dh,x=~x,y=~y,color=1:nrow(dh),colors=~colors)
p

plotly plot

plot_ly Переупорядочивает ли каким-либо образом порядок точек данных таким образом, чтобы они не соответствовали цветам?

Данные dput:

structure(list(x = c(-0.327874254971707, 0.0243792158184031, 
0.107669259111388, -0.17067999535603, 0.253014450965288, -0.30401345923282, 
0.0331128652384841, 0.049548279507185, 0.369696709486512, -0.167397625057178, 
0.202806245665954, -0.00915815460088988, 0.247135751913726, 0.165413647213223, 
-0.2990992854974, -0.0772565617402367, 0.279783453555406, -0.379045437507889, 
0.0954567297683402, 0.240633163226922, 0.300850039037782, 0.039654439604722, 
-0.151355526477351, 0.116203065938687, 0.249612202297127, 0.284604411187255, 
0.0222726920295999, 0.0819713233873067, -0.0106061807776757, 
-0.0610513030834277, 0.0988364057632794, 0.0785106815664961, 
-0.225069232424948, 0.400670902467926, -0.219357385920917, 0.220640509732123, 
0.0668926323079045, 0.091967921637318, -0.0755032713060586, 0.104805031872267, 
0.212374944569862, 0.0409985351373595, -0.103201180727144, 0.27890546912588, 
0.249660941028971, 0.440198890799725, -0.147259237921436, 0.265535761161297, 
0.193883100780673, -0.0852361406090325), y = c(-0.143220193663707, 
-0.103861522544092, 0.014943613671508, 0.0568625027478113, 0.224085667174407, 
-0.0478088894306905, -0.108103761544543, 0.394315449208854, 0.0404322975659954, 
-0.0529799018703447, 0.00823729917746587, 0.330858765555255, 
0.150372547076414, 0.10143061463728, -0.0951749765395001, -0.348974524287582, 
0.0369698421026941, 0.360187315105939, -0.30561201962244, 0.127089363561865, 
-0.20230502978223, 0.103789631897875, -0.0380513652653758, -0.332119278824934, 
0.331228736655648, -0.150847539224094, 0.0417227814945731, -0.0475324675549857, 
0.289872876702332, 0.319532153748088, 0.366480287859991, 0.0339779438168093, 
0.152898833877351, 0.0162769802622322, 0.245092275741421, 0.205169273414241, 
-0.0868782784955914, 0.356854599409884, -0.0497216558534429, 
0.0471305540461217, 0.112714557081126, -0.258648823642036, -0.165629467144518, 
-0.0297194021794866, 0.223606779936828, -0.24620949262608, 0.456438112500968, 
0.179830357562056, 0.0281610399595566, -0.406622004247529), z = c(0.831772805602658, 
0.412717866288448, 0.401979092629443, 0.40226230886894, 0.504320799186366, 
0.658449725807747, 0.42807243624269, 0.617234162073044, 0.517057928800752, 
0.529224888088992, 0.519427309457825, 0.686326805170562, 0.462044708979163, 
0.491510983976872, 0.763564522894265, 0.452347832381984, 0.515329496733342, 
0.430725696034724, 0.516477641121066, 0.445742360922954, 0.773222617381118, 
0.634915824283156, 0.484468163312084, 0.523533314931766, 0.524812151688318, 
0.849870566582082, 0.496272412248973, 0.450440648734911, 0.747452904609551, 
0.665225382809714, 0.622631387616171, 0.4570209672262, 0.452084217389715, 
0.534281173733575, 0.507267715107612, 0.528666304875235, 0.466838966940058, 
0.634698366560531, 0.387699528020426, 0.461405384054554, 0.455942990502512, 
0.462262115934673, 0.508016104745454, 0.630905767683814, 0.507277271544851, 
0.601959703169399, 0.530871046513782, 0.468641453317378, 0.475495011773551, 
0.446122893002631), colors = c("#D41417", "#4B694B", "#336667", 
"#633667", "#2E5181", "#A82532", "#486D49", "#2E349D", "#2D844E", 
"#873444", "#2A8450", "#2729AF", "#2D5C76", "#2C567D", "#C31B21", 
"#735438", "#2A8351", "#573A6E", "#468436", "#2D6072", "#1BC51F", 
"#2934A2", "#7C374C", "#448635", "#304986", "#11D915", "#39487F", 
"#397353", "#1F21BF", "#2C2AAA", "#2B359F", "#345775", "#583473", 
"#2D884A", "#4A3381", "#2C4C87", "#3E774A", "#2A33A2", "#634656", 
"#305976", "#2C5E74", "#507639", "#82433B", "#24A13A", "#2E5081", 
"#2F9937", "#3F3887", "#2E5A78", "#2C795A", "#725538")), row.names = c(552L, 
213L, 281L, 63L, 439L, 473L, 350L, 153L, 530L, 258L, 104L, 554L, 
49L, 393L, 431L, 47L, 461L, 416L, 156L, 29L, 485L, 312L, 340L, 
232L, 129L, 479L, 508L, 597L, 1L, 413L, 344L, 167L, 88L, 39L, 
348L, 542L, 421L, 17L, 313L, 245L, 491L, 207L, 528L, 486L, 217L, 
77L, 33L, 501L, 304L, 24L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...