ggradar returns Error: 'plot.data' contains value(s) > grid.max
ggradar returns Error: 'plot.data' contains value(s) > grid.max
给定一个样本数据如下:
df <- structure(list(date = c("2022-1-31", "2022-2-28"), PMI = c(50.1,
50.2), PMI.import = c(48.4, 49), PMI.export = c(47.2, 48.6)), class = "data.frame", row.names = c(NA,
-2L))
输出:
date PMI PMI.import PMI.export
1 2022-1-31 50.1 48.4 47.2
2 2022-2-28 50.2 49.0 48.6
我尝试用下面的代码绘制雷达图,但是 none 其中 returns 是我预期的图(需要显示一月和二月三个变量的微小差异)。
library(scales)
library(ggiraphExtra)
library(ggradar)
df %>%
mutate_each(funs(rescale), -date) %>%
ggradar()
ggradar(df,
values.radar = c("40", "50", "70"),
grid.min=40, grid.mid=50, grid.max=60
)
和ggradar(df)
returns:Error: 'plot.data' contains value(s) > grid.max
有人可以帮忙吗?如果可能的话,我希望将y限制设置在40~70或40~60之间以显示两个月之间数据的微小变化。
参考:
我认为您需要缩放数据,例如,值 45 - 55 映射到范围 0 - 1。然后适当地标记图:
df %>%
mutate(across(contains('PMI'), ~ (.x - 45) / 10)) %>%
ggradar(values.radar = c('45', '50', '55'))
给定一个样本数据如下:
df <- structure(list(date = c("2022-1-31", "2022-2-28"), PMI = c(50.1,
50.2), PMI.import = c(48.4, 49), PMI.export = c(47.2, 48.6)), class = "data.frame", row.names = c(NA,
-2L))
输出:
date PMI PMI.import PMI.export
1 2022-1-31 50.1 48.4 47.2
2 2022-2-28 50.2 49.0 48.6
我尝试用下面的代码绘制雷达图,但是 none 其中 returns 是我预期的图(需要显示一月和二月三个变量的微小差异)。
library(scales)
library(ggiraphExtra)
library(ggradar)
df %>%
mutate_each(funs(rescale), -date) %>%
ggradar()
ggradar(df,
values.radar = c("40", "50", "70"),
grid.min=40, grid.mid=50, grid.max=60
)
和ggradar(df)
returns:Error: 'plot.data' contains value(s) > grid.max
有人可以帮忙吗?如果可能的话,我希望将y限制设置在40~70或40~60之间以显示两个月之间数据的微小变化。
参考:
我认为您需要缩放数据,例如,值 45 - 55 映射到范围 0 - 1。然后适当地标记图:
df %>%
mutate(across(contains('PMI'), ~ (.x - 45) / 10)) %>%
ggradar(values.radar = c('45', '50', '55'))