Manually set point colors in rCharts + polychart

我的未来我决定 提交于 2019-12-10 23:47:03

问题


I try to build a chart using rCharts and polychart frontend:

dtf <- data.frame(x=c(1, 2, 3, 4, 5), y=c(4, 5, 6, 3, 5), 
              label=c('one', 'two', 'one', 'two', 'two'))
color.mapping <- list(one='#ff2385', two='#229922')
p2 <- rPlot(x='x', y='y', data=dtf, type='point', color='label')
print(p2)

I would like to have a control over the point colors by either using some sort of discrete mapping (like in the example above) or using some other logic. How is that done

EDIT

following the Ramnath's answer I tried to do the following, but I get an empty page:

dtf <- data.frame(x=c(1, 2, 3, 4, 5), y=c(4, 5, 6, 3, 5), 
                  label=c('one', 'two', 'one', 'two', 'two'))

p2 <- rPlot(x='x', y='y', data=dtf, type='point', color='label')

p2$guides(color = list(scale = "#! function(value){
   color_mapping = {one: '#ff2385', two: '#229922'}
   return color_mapping[value];                  
 } !#"))


print(p2)

Resolution upgrading rCharts from github has solved the problem.


回答1:


This is a little complicated in Polychart currently, although we are trying to create a more R friendly solution. But for now, here is the way to set custom scales in Polychart

p2$guides(color = list(scale = "#! function(value){
  color_mapping = {one: '#ff2385', two: '#229922'}
  return color_mapping[value];                  
} !#"))

The idea is to set a scale for the color aesthetic. But instead of using a color palette, you specify a function, which returns a color based on the mapping. You need to wrap the function between #! and !# so that rCharts treats it as a JS literal, and does not stringify it when converting to JSON.

If you are unsure how to specify color_mapping in JSON, you can use the function toJSON to convert your R object. Only caveat is avoid using double quotes inside the function, as they tend to get escaped and as a result cause errors.

Hope this was useful.



来源:https://stackoverflow.com/questions/18558473/manually-set-point-colors-in-rcharts-polychart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!