- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是继我之前的帖子:How to measure the area of a polygon in ggplot2?
我现在想要做的是将生成的雷达图用作完全独立的散点图中的数据点,或者可能保存对象并稍后在图表上使用它来描绘实际数据的形状。
我有很多文件,它们通常看起来像这样。它们的列数范围从 1 到许多,并且分数始终采用降序格式。即#1 总是在任何给定文件中贡献最大。
myfile
01 0.31707317
02 0.12195122
03 0.09756098
04 0.07317073
05 0.07317073
06 0.07317073
07 0.07317073
08 0.07317073
09 0.04878049
10 0.04878049
ggradar(as.matrix(t(radar)), group.point.size = 2, grid.line.width = 0, grid.max = 1.0, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 1)
for (file in file_list){
#eliminate the empty files (they contain only the header)
if (file.size(file) > 420){
# if the merged dataset does exist, append to it
if (exists("dfradar")){
radarfile <-read.table(file, header=TRUE, sep="\t")
radarfile1 <- as.data.frame(as.numeric(radarfile[,3]))
rownames(radarfile1) <- c(1:nrow(radarfile))
dfradar1 <- ggradar(t(radarfile1), group.point.size = 1, grid.line.width = 0, grid.max = 1, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 0.5) +
theme(legend.position = "none")
dfradar1 <- cbind(substring(file,11), dfradar1)
dfradar <- rbind(dfradar, dfradar1)
}
# if the merged dataset doesn't exist, create it
if (!exists("dfradar")){
radarfile <- read.table(file, header=TRUE, sep="\t")
radarfile1 <- as.data.frame(as.numeric(radarfile[,3]))
rownames(radarfile1) <- c(1:nrow(radarfile))
dfradar <- ggradar(t(radarfile1), group.point.size = 1, grid.line.width = 0, grid.max = 1, grid.mid = 0,
grid.min = 0, axis.line.colour = "white", axis.label.size = 0, grid.label.size = 0,
centre.y = 0, background.circle.colour = "white", group.colours = "black", group.line.width = 0.5) +
theme(legend.position = "none")
dfradar <- cbind(substring(file,11), dfradar)
rm(radarfile)
rm(radarfile1)
}
} }
"Error in mutate_impl(.data, dots) : Evaluation error: attempt to apply non-function."
"Error in plot_clone(plot) : attempt to apply non-function"
# merge the df with another df containing all other
# variables that I wanna use in my scatterplot
dfradar_merge <- merge(dfradar, Cases, all=FALSE)
dfradar_merge <- dfradar_merge %>% mutate(radargrobs = list(annotation_custom(ggplotGrob(radarplots)),
xmin = as.numeric(Gender), xmax = as.numeric(Gender)*1.2,
ymin = as.numeric(Age) , ymax = as.numeric(Age)*1.2)))
最佳答案
我想出了以下想法。我使用 ggradar 包来创建图形。然后,我用 ggplot_build()
查看了图形后面的数据框。 .图形后面似乎有13个列表。我需要调查哪个列表是包含多边形数据的正确列表。我发现第 6 个列表是您想要提取并保存以备将来使用的列表。让我告诉你我做了什么。
library(dplyr)
library(ggradar)
library(scales)
# I modified the code from https://github.com/ricardo-bion/ggradar to get a graphic.
mtcars %>%
mutate_all(rescale) %>%
mutate(group = rownames(mtcars)) %>%
slice(5:9) %>%
select(1:4) -> mtcars_radar
g <- ggradar(mtcars_radar)
foo <- ggplot_build(g)$data
# This is the 6th list in foo.
$ :'data.frame': 20 obs. of 8 variables:
..$ colour : chr [1:20] "#FF5A5F" "#FF5A5F" "#FF5A5F" "#FF5A5F" ...
..$ x : num [1:20] 0 0.72 -0.687 0 0 ...
..$ y : num [1:20] 1.111 -0.416 -0.397 1.111 0.611 ...
..$ group : atomic [1:20] 1 1 1 1 2 2 2 2 3 3 ...
.. ..- attr(*, "n")= int 5
..$ PANEL : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
..$ size : num [1:20] 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 ...
..$ linetype: num [1:20] 1 1 1 1 1 1 1 1 1 1 ...
..$ alpha : logi [1:20] NA NA NA NA NA NA ...
FF5A5F
)。
mydf <- foo[[6]]
colour x y group PANEL size linetype alpha
1 #FF5A5F 0.0000000 1.1111111 1 1 1.5 1 NA
2 #FF5A5F 0.7203077 -0.4158698 1 1 1.5 1 NA
3 #FF5A5F -0.6868360 -0.3965450 1 1 1.5 1 NA
4 #FF5A5F 0.0000000 1.1111111 1 1 1.5 1 NA
5 #FFB400 0.0000000 0.6111111 2 1 1.5 1 NA
6 #FFB400 0.4286803 -0.2474987 2 1 1.5 1 NA
7 #FFB400 -0.2584135 -0.1491951 2 1 1.5 1 NA
8 #FFB400 0.0000000 0.6111111 2 1 1.5 1 NA
9 #007A87 0.0000000 1.1111111 3 1 1.5 1 NA
10 #007A87 0.7203077 -0.4158698 3 1 1.5 1 NA
11 #007A87 -0.4726248 -0.2728700 3 1 1.5 1 NA
12 #007A87 0.0000000 1.1111111 3 1 1.5 1 NA
13 #8CE071 0.0000000 0.1111111 4 1 1.5 1 NA
14 #8CE071 0.2467912 -0.1424850 4 1 1.5 1 NA
15 #8CE071 -0.2278119 -0.1315273 4 1 1.5 1 NA
16 #8CE071 0.0000000 0.1111111 4 1 1.5 1 NA
17 #7B0051 0.0000000 0.1111111 5 1 1.5 1 NA
18 #7B0051 0.2595364 -0.1498434 5 1 1.5 1 NA
19 #7B0051 -0.1268266 -0.0732234 5 1 1.5 1 NA
20 #7B0051 0.0000000 0.1111111 5 1 1.5 1 NA
gg <- ggplot(data = mydf, aes(x = x, y = y, group = group, color = factor(group))) +
geom_path(show.legend = FALSE) +
theme_bw()
关于r - 使用雷达/极坐标图来描绘单个数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47704875/
我想尝试用 Java OpenGL 构建雷达。基本上,在该方法中,您传递玩家的当前位置、玩家面对的角度以及敌人的位置。如果敌人就在正前方,那么红点(象征敌人)应该在圆圈(雷达)的顶部,可以说是0度。如
我只是对声纳设备有一个总体的思考。声纳结果如何用数据类型表示。 目前我想出的解决方案是拥有一个 360 2D array,其值表明物体被击中时的距离,最大范围意味着那里什么也没有。这样做的问题是,对于
我有一个雷达图Js。 我不知道如何在区域内放置径向渐变。放置当前代码时,默认只取1种颜色作为background-color 当前代码: let ctx = document.getElementBy
我用在线生成器实现了 amChart。这是结果: https://live.amcharts.com/ODVhY/ 如您所见,带有值的标签仅在红牛上可见。 如何将其扩展到所有 5 个项目符号? 我的配
我需要一种灵活的方法在 ggplot2 中制作雷达/蜘蛛图。从我在 github 和 ggplot2 组上找到的解决方案,我已经走到了这一步: library(ggplot2) # Define a
我想用radare2调试程序“id3v2 -c halo test.mp3”。 如何将参数“-c halo test.mp3”传递给radare2? 我只用 rarun2 找到了一些东西,但是当我这样
我在哪里可以找到适用于 iOS 的优秀蜘蛛(雷达)图表库? (如下图) 我检查了“Core Plot”和“iOSPlot”开源项目,但这些都不支持蜘蛛图。 BR,元一。 最佳答案 在 Github 上
我是一名优秀的程序员,十分优秀!