【发布时间】:2021-06-16 11:27:53
【问题描述】:
问题
我正在尝试使用 {echarts4r} 生成一个可视化,其中涉及绘制带有显示在图表本身上的标签的点,其中标签与点的位置无关。这听起来应该很简单,但到目前为止我还没有找到任何可行的方法,我开始怀疑它是否可能。
期望的输出
这是一个最小的例子。我将使用 {ggplot2} 来展示我(大致)想要重现的内容:
data <- data.frame(
date_eaten = as.Date(c("2020-01-01", "2020-01-02", "2020-01-03")),
tastiness = c(5, 7, 10),
fruit = c("apple", "orange", "mango")
)
data
#> date_eaten tastiness fruit
#> 1 2020-01-01 5 apple
#> 2 2020-01-02 7 orange
#> 3 2020-01-03 10 mango
library(ggplot2)
ggplot(data, aes(x = date_eaten, y = tastiness, label = fruit)) +
geom_point() +
geom_text(nudge_y = 0.2)
尝试使用e_labels()
这种方法在视觉上正是我想要的,但是,似乎没有选项可以指定从哪些列中获取标签。
library(echarts4r)
data %>%
e_chart(date_eaten) %>%
e_scatter(tastiness, symbol_size = 10) %>%
e_labels()
尝试使用e_mark_point()
此选项允许进行更多自定义,但这并不是一个真正可行的解决方案,因为它非常笨重并且没有严格“链接回”到原始数据:
data %>%
e_chart(date_eaten) %>%
e_scatter(tastiness, symbol_size = 10) %>%
e_mark_point(data = list(
xAxis = as.Date("2020-01-01"),
yAxis = 5,
value = "apple"
)) %>%
e_mark_point(data = list(
xAxis = as.Date("2020-01-02"),
yAxis = 7,
value = "orange"
)) %>%
e_mark_point(data = list(
xAxis = as.Date("2020-01-03"),
yAxis = 10,
value = "mango"
))
【问题讨论】:
标签: r ggplot2 data-visualization echarts echarts4r