如何使用 highcharter 在 r 中创建工具提示图表?
How to create a tooltip chart in r using highcharter?
我正在使用 highcharter
库并参考下文 link 在 气泡图中创建交互式 工具提示图
https://jkunst.com/blog/posts/2019-02-04-using-tooltips-in-unexpected-ways/
绘图图像:
使用 gapminder
数据,如 link 所示,我能够重现相同的数据,但是当我使用其他数据时,工具提示图表不会出现。
我的其他数据代码:
库
library(tidyverse)
library(highcharter)
数据
grouped_cases_df <- read.csv("https://raw.githubusercontent.com/johnsnow09/covid19-df_stack-code/main/grouped_cases.csv")
tt_base <- grouped_cases_df %>%
arrange(desc(Date)) %>%
distinct(Country.Region, .keep_all = TRUE)
tt_base
tt_inner <- grouped_cases_df %>%
select(Country.Region, Date, Daily_cases) %>%
nest(-Country.Region) %>%
mutate(
data = map(data, mutate_mapping, hcaes(x = Date, y = Daily_cases), drop = TRUE),
data = map(data, list_parse)
) %>%
rename(tt_nestdata = data)
tt_inner
tt_daily <- left_join(tt_base, tt_inner, by = "Country.Region")
tt_daily
hchart(
tt_daily,
"point",
hcaes(x = Active, y = Confirmed, name = Country.Region,
size = Daily_cases, group = continent, name = Country.Region)
) %>%
hc_yAxis(type = "logarithmic") %>%
hc_tooltip(
useHTML = TRUE,
headerFormat = "<b>{point.key}</b>",
pointFormatter = tooltip_chart(accesor = "tt_nestdata")
) %>%
hc_title(text = "Active Vs Confirmed Cases as of latest Date") %>%
hc_subtitle(text = "Size of bubble based on Deaths <br> (ttchart: population growth)")
问题: 获取每个国家/地区的空白工具提示图表。
我也尝试过将 Country.Region
更改为 as.factor()
但没有帮助。我不确定这有什么问题。
需要做两处改动:
- 工具提示数据需要准备好发送给高级包机。因此,您需要将 Date 列从文本转换为日期,然后转换为 highcharts 可以解释为日期的数值:
mutate(Date = highcharter::datetime_to_timestamp(lubridate::ymd(Date)))
- 然后,在
tooltip_chart
函数的 hc_opts
参数中,您需要指定 x 轴将值视为日期。
pointFormatter = tooltip_chart(accesor = "tt_nestdata", hc_opts = list(xAxis = list(type = "datetime")))
然后:
我正在使用 highcharter
库并参考下文 link 在 气泡图中创建交互式 工具提示图
https://jkunst.com/blog/posts/2019-02-04-using-tooltips-in-unexpected-ways/
绘图图像:
使用 gapminder
数据,如 link 所示,我能够重现相同的数据,但是当我使用其他数据时,工具提示图表不会出现。
我的其他数据代码:
库
library(tidyverse)
library(highcharter)
数据
grouped_cases_df <- read.csv("https://raw.githubusercontent.com/johnsnow09/covid19-df_stack-code/main/grouped_cases.csv")
tt_base <- grouped_cases_df %>%
arrange(desc(Date)) %>%
distinct(Country.Region, .keep_all = TRUE)
tt_base
tt_inner <- grouped_cases_df %>%
select(Country.Region, Date, Daily_cases) %>%
nest(-Country.Region) %>%
mutate(
data = map(data, mutate_mapping, hcaes(x = Date, y = Daily_cases), drop = TRUE),
data = map(data, list_parse)
) %>%
rename(tt_nestdata = data)
tt_inner
tt_daily <- left_join(tt_base, tt_inner, by = "Country.Region")
tt_daily
hchart(
tt_daily,
"point",
hcaes(x = Active, y = Confirmed, name = Country.Region,
size = Daily_cases, group = continent, name = Country.Region)
) %>%
hc_yAxis(type = "logarithmic") %>%
hc_tooltip(
useHTML = TRUE,
headerFormat = "<b>{point.key}</b>",
pointFormatter = tooltip_chart(accesor = "tt_nestdata")
) %>%
hc_title(text = "Active Vs Confirmed Cases as of latest Date") %>%
hc_subtitle(text = "Size of bubble based on Deaths <br> (ttchart: population growth)")
问题: 获取每个国家/地区的空白工具提示图表。
我也尝试过将 Country.Region
更改为 as.factor()
但没有帮助。我不确定这有什么问题。
需要做两处改动:
- 工具提示数据需要准备好发送给高级包机。因此,您需要将 Date 列从文本转换为日期,然后转换为 highcharts 可以解释为日期的数值:
mutate(Date = highcharter::datetime_to_timestamp(lubridate::ymd(Date)))
- 然后,在
tooltip_chart
函数的hc_opts
参数中,您需要指定 x 轴将值视为日期。
pointFormatter = tooltip_chart(accesor = "tt_nestdata", hc_opts = list(xAxis = list(type = "datetime")))
然后: