我写了这个ggplot代码:
`ggplot(dt, aes(x = 1, y = yearValueDecimal)) + geom_dotplot(binaxis='y', stackdir='up',stackratio=2, dotsize=0.5) + coord_flip()`
它生成了这个图:enter image description here
我尝试使用highcharter创建一个类似的图,但我不知道在其中堆叠点图的语法。有人能给我指个方向吗?
编辑:生成我的数据的代码:
sample(2016:2023,40,replace = TRUE,prob = NULL)
sample(2016:2023,40,replace = TRUE,prob = NULL) -> yearValue
sample(1:12,40,replace = TRUE,prob = NULL) -> monthValue
sample(1:28,40,replace = TRUE,prob = NULL) -> dayValue
((dayValue-1)/30) + ((monthValue-1)/12)+(yearValue) -> yearValueDecimal`
数据输出:
structure(list(yearValueDecimal = c(2022.21666666667, 2022.83333333333,
2016.98333333333, 2021.43333333333, 2023.7, 2022.03333333333,
2022.86666666667, 2022.46666666667, 2020.81666666667, 2020.1,
2022.31666666667, 2023.93333333333, 2016.48333333333, 2016.83333333333,
2018.81666666667, 2017.4, 2019.5, 2017.43333333333, 2019.58333333333,
2019.7, 2022.3, 2020.25, 2023.41666666667, 2019.35, 2019.11666666667,
2017.73333333333, 2019.78333333333, 2019.33333333333, 2022.86666666667,
2020.25, 2021.26666666667, 2016.56666666667, 2016.53333333333,
2023.83333333333, 2022.56666666667, 2021.85, 2018.3, 2022.66666666667,
2019.68333333333, 2019.95)), row.names = c(NA, -40L), class =
c("data.table",
"data.frame"), .internal.selfref = <pointer: 0x000001b0dadf3320>)
当前highcharter代码:
dt%>%
hchart(type = 'scatter', hcaes(x = 1, y = 'yearValueDecimal'))%>%
hc_plotOptions(stacking = "normal")
1条答案
按热度按时间izkcnapc1#
我不是很熟悉{highcharter},但我不认为点图是一个内置的功能,所以最简单的方法是本质上建立一个散点图。其中一种方法是将年份数据装箱,计算该装箱中有多少值,然后从中创建点的坐标:
这给出:
然后,您可以查看更改x轴上的标签(在使用highcharter绘制数据之前或之后)。