咸鱼楼主最近打算用echarts4r包来画花,使用嵌套环形图的形式,最里面第一层当做花蕊,第二层当做花瓣,粗略代码如下:
library(echarts4r)
data1 <- data.frame(name = 'A',
value1 = 1)
data2 <- data.frame(name2 = rep('B', 8),
value2 = rep(3, 8))
#第一层的外圈半径需要小于第二层的内圈半径
data1 |>
e_charts(name) |>
e_pie(value1,
radius = c("0%", "8%"),
color='#FF6A6A') |>
e_data(data2, value2) |>
e_pie(value2,
radius = c("10%", "40%"),
color='#FF3030',
itemStyle = list(
borderRadius = 40,
borderColor = '#fff',
borderWidth = 5
)) |>
e_labels(show = FALSE)|>
e_legend(show=FALSE)
得到图案,如下:
但是本咸鱼希望能够改变花瓣的形状,于是想要在上面的基础上再叠加一层,然后将第三层的图案颜色设置为近乎白色,可是却发现第三层的图案颜色设置了也不起作用,而是直接沿用了第二层的颜色,代码如下:
data3 <- data.frame(name3 = rep('B', 24),
value3 = rep(3, 24))
#第一层的外圈半径需要小于第二层的内圈半径
data1 |>
e_charts(name) |>
e_pie(value1,
radius = c("0%", "8%"),
color = '#FF6A6A') |>
e_data(data2, value2) |>
e_pie(
value2,
radius = c("10%", "40%"),
color = '#FF3030',
itemStyle = list(
borderRadius = 40,
borderColor = '#fff',
borderWidth = 5
)
) |>
#引入第三层
e_data(data3, value3) |>
e_pie(
value3,
radius = c("35%", "45%"),
color = 'white', 设置第三层的颜色
itemStyle = list(
borderRadius = 40,
borderColor = '#fff',
borderWidth = 5
)
) |>
e_labels(show = FALSE) |>
e_legend(show = FALSE)
最终效果如下:
不知道是不是我哪里参数设置有问题,还是这个包本身的问题,请小伙伴们帮忙看看。
另,如果有其他可以实现的画图包也烦请告知,咸鱼想要达到的效果是:绘制一朵花,有花蕊,有花瓣,且能改变花瓣的形状。