R的echarts4r pictorials中的不同颜色

kzmpq1sx  于 10个月前  发布在  Echarts
关注(0)|答案(1)|浏览(102)

我有一个函数,它可以运行一系列数据框架,每个数据框架都制作成它自己的信息图表,比较男性和女性在各种疾病上的风险率。例如,我们正在寻找的显示器是,如果我们有3.5女性对每1男性的风险率,那么它将显示1个男性图标和3个完整的女性图标,其中第四个女性图标填充一半。
以下是信息图的代码段,它一次接收一个带有列的 Dataframe :性别、价值观和路径(一个以上性别的性别如下:fenale,女2,女3...避免图标相互重叠)

#save graphic as object to call
infograph <- new_df %>%
  #calling the genders into each graphic
  e_charts(gender) %>%
  
  e_x_axis(spliLine=list(show=FALSE),
           axisTick = list(show=FALSE),
           axisLine = list(show=FALSE),
           axisLabel = list(show=FALSE)) %>%
  
  e_y_axis(max = 100,
           splitLine=list(show=FALSE),
           axisTick=list(show=FALSE),
           axisLine=list(show=FALSE),
           axisLabel=list(show=FALSE)) %>%
  
  #colors of icon (fill and background)
  e_color(color=c('#69cce6', '#eee')) %>%
  
  #fill icon
  e_pictorial(value, symbol = path, z=10, name= 'realValue', 
              symbolBoundingData= 100, symbolClip= TRUE) %>% 
  #background icon
  e_pictorial(value, symbol = path, name= 'background', 
              symbolBoundingData= 100) %>%
  
  #currently show=FALSE, labels will hide
  e_labels(position='bottom', offset=c(0,10), show=FALSE,
           textStyle=list(fontSize=20, fontFamily = 'Arial',
                          fontWeight = 'bold',
                          color = '#69cce6'),
           formatter = "{@[1]}% {@[0]}") %>%
  #title of graph
  e_title(text = paste(unique(this$Disease), " Infographic", sep=""), left = "center") %>%
  #legend
  e_legend(show=FALSE) %>%
  #list exists online of themes to choose from
  e_theme("westeros")

字符串
这里的目标是使男性图标为蓝色,女性图标为粉红色,以便于阅读。现在它只需要2种颜色,背景图标和填充图标的颜色。
注意:标签现在是隐藏的(show=FALSE),因为我不担心atm,所以忽略它。
我试着使用第四个“colors”列来赋值,但是color参数的读取方式和symbol读取当前行的路径的方式不同。我在分配e_color时使用了两种以上的颜色,但只使用了前两种颜色。
编辑:这个函数是用来遍历一个 Dataframe 列表的,但这里是我测试的一个。对不起,长的'路径'列,但这是必要的图标

gender            value
1             Male              100
2         Female 1              100
3         Female 2              100
4         Female 3              100
5 Female portional 65.6652360515021
                                                                                                                                                                                                                                                                                                                                                                                          path
1                                                                                                                                   path://M20.822 18.096c-3.439-.794-6.64-1.49-5.09-4.418 4.72-8.912 1.251-13.678-3.732-13.678-5.082 0-8.464 4.949-3.732 13.678 1.597 2.945-1.725 3.641-5.09 4.418-3.073.71-3.188 2.236-3.178 4.904l.004 1h23.99l.004-.969c.012-2.688-.092-4.222-3.176-4.935z
2 path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z
3 path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z
4 path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z
5 path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z
    fills
1  69cce6
2 hotpink
3 hotpink
4 hotpink
5 hotpink


不幸的是,由于HIPAA法律,我不能发布源 Dataframe ,但我只是从那个 Dataframe 中提取数据,并将其转换为代码中使用的new_df。

4bbkushb

4bbkushb1#

好的,我把你的数据放在一个数据框中,使你的例子可重复。
看看我做的改变。这个脚本的输出看起来像你想要的那样吗?

library(echarts4r)
library(dplyr)

new_df <- data.frame(
gender = c("Male", "Female 1", "Female 2", "Female 3", "Female proportional"),
value = c(100, 100, 100, 100, 65.6652360515021),
path = c("path://M20.822 18.096c-3.439-.794-6.64-1.49-5.09-4.418 4.72-8.912 1.251-13.678-3.732-13.678-5.082 0-8.464 4.949-3.732 13.678 1.597 2.945-1.725 3.641-5.09 4.418-3.073.71-3.188 2.236-3.178 4.904l.004 1h23.99l.004-.969c.012-2.688-.092-4.222-3.176-4.935z",
  "path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z",
  "path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z",
  "path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z",
  "path://M20.822 19.307c-2.967-.681-6.578-2.437-5.514-4.723.684 1.126 2.801 1.777 4.45.804-4.747-1.204 2.334-9.471-3.871-14.105-1.135-.853-2.526-1.283-3.912-1.283-1.378 0-2.751.425-3.862 1.283-6.206 4.634.876 12.901-3.872 14.105 1.649.974 3.77.293 4.451-.804 1.064 2.286-2.551 4.043-5.514 4.723-2.978.682-3.178 2.466-3.178 4.004l.005.689h23.99l.005-.691c0-1.537-.2-3.32-3.178-4.002z"),
fills = c("69cce6", "hotpink", "hotpink", "hotpink", "hotpink"))

infograph <- new_df %>%
  #calling the genders into each graphic
  e_charts(gender) %>%
  
  e_x_axis(spliLine=list(show=FALSE),
           axisTick = list(show=FALSE),
           axisLine = list(show=FALSE),
           axisLabel = list(show=FALSE)) %>%
  
  e_y_axis(max = 100,
           splitLine=list(show=FALSE),
           axisTick=list(show=FALSE),
           axisLine=list(show=FALSE),
           axisLabel=list(show=FALSE)) %>%
  
  #colors of icon (fill and background)
  #e_color(color=c('#69cce6', '#eee')) %>%
  
  #fill icon
  e_pictorial(value, symbol = path, z=10, name= 'realValue', 
              symbolBoundingData= 100, symbolClip= TRUE) %>% 
  #background icon
  e_pictorial(value, symbol = path, name= 'background', 
              symbolBoundingData= 100) %>%
  
  #currently show=FALSE, labels will hide
  e_labels(position='bottom', offset=c(0,10), show=FALSE,
           textStyle=list(fontSize=20, fontFamily = 'Arial',
                          fontWeight = 'bold',
                          color = '#69cce6'),
           formatter = "{@[1]}% {@[0]}") %>%
  #title of graph
  e_title(text = "title", left = "center") %>%
  #legend
  e_legend(show=FALSE) %>%
  #list exists online of themes to choose from
  e_theme("westeros") %>% 
  e_add_nested("itemStyle", color = fills)

字符串

相关问题