- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ggplot2 和 coordpolar 制作蜘蛛图。
我想删除网格中最外层的圆圈以使标签看起来更好,有什么想法吗?
我使用了 mtcars 数据集以实现可重现性。这是我目前所拥有的:
library(ggplot2)
library(reshape2)
library(scales)
# Define a new coordinate system
coord_radar <- function (theta = "x", start = 0, direction = 1)
{
theta <- match.arg(theta, c("x", "y"))
r <- if (theta == "x")
"y"
else "x"
ggproto("CoordRadar", CoordPolar, theta = theta, r = r, start = start,
direction = sign(direction),
is_linear = function(coord) TRUE)
}
is.linear.radar <- function(coord) TRUE
# rescale all variables to lie between 0 and 1
scaled <- as.data.frame(lapply(mtcars, ggplot2:::rescale01))
scaled$model <- rownames(mtcars) # add model names as a variable
as.data.frame(melt(scaled,id.vars="model")) -> mtcarsm
mtcarsm2 <- dplyr::filter(mtcarsm, model = model %in% c("Maserati Bora","Volvo 142E"))
my.color = c("red","darkgreen")
mtcarsm2$Make.color <- ifelse(mtcarsm2$model=="Maserati Bora", "1",
ifelse(mtcarsm2$model=="Volvo 142E", "2",
NA ))
cols <- c("Maserati Bora" = "darkorange","Volvo 142E" = "blue")
library(scales)
library(ggthemes)
scaled <- as.data.frame(lapply(mtcars, ggplot2:::rescale01))
scaled$model <- rownames(mtcars) # add model names as a variable
# melt the dataframe
mtcarsm <- reshape2::melt(scaled)
# plot it as using the polygon geometry in the polar coordinates
ggplot(mtcarsm2, aes(x = variable, y = value, fill=as.factor(model))) +
geom_polygon(aes(group = model, color = model), fill = NA, size = 1) +
coord_polar()+
xlab("") + ylab("")+theme_minimal()+scale_colour_manual(
values = c("Maserati Bora" = "darkorange","Volvo 142E" = "deepskyblue4"))+
theme(panel.background = element_rect(fill = "lightblue",
colour = "lightblue",
size = 0.5, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',
colour = "white"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',
colour = "white"))
结果图像
最佳答案
将您当前的 panel.grid.major
参数替换为 panel.grid = element_blank()
似乎适用于您的示例。
ggplot(mtcarsm2, aes(x = variable, y = value, fill = as.factor(model))) +
geom_polygon(aes(group = model, color = model), fill = NA, size = 1) +
coord_polar() +
xlab("") +
ylab("") +
theme_minimal() +
scale_colour_manual(values = c("Maserati Bora" = "darkorange",
"Volvo 142E" = "deepskyblue4")) +
theme(panel.background = element_rect(
fill = "lightblue", colour = "lightblue", size = 0.5,
linetype = "solid"),
panel.grid = element_blank(),
panel.grid.minor = element_line(
size = 0.25, linetype = 'solid', colour = "white"))
关于使用 ggplot2,coord_polar 删除网格中最外层的圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553514/
我正在尝试使用 ggplot2 和 coordpolar 制作蜘蛛图。 我想删除网格中最外层的圆圈以使标签看起来更好,有什么想法吗? 我使用了 mtcars 数据集以实现可重现性。这是我目前所拥有的:
这个问题在这里已经有了答案: How to show only part of the plot area of polar ggplot with facet? (1 个回答) 3年前关闭。 我正在
我想用 coord_polar 在 ggplot 周围制作弯曲的文本。我有数据框: z <- data.frame( a=c("sensor 1","sensor 2","sensor 3","sen
这有点困扰我 - 我怎样才能删除这个不需要的标签,包括 /。简单地像 c("", myactual labels) 没有帮助,因为 / 仍然存在。 我认为也许 scale_x_date 可能会有所帮助
这有点困扰我 - 我怎样才能删除这个不需要的标签,包括 /。简单地像 c("", myactual labels) 没有帮助,因为 / 仍然存在。 我认为也许 scale_x_date 可能会有所帮助
指定 fill aes 的论据导致饼图的顺序相反,因此中断/标签不再与饼图匹配。请参阅下面的示例和结果图。 df = data.frame(Var1 = letters[1:5], Var2 = c(
我有一个在极轴上有许多值的散点图 - coord_polar()。生成的图形文本拥挤,因为文本始终与页面底部对齐。 是否可以放置文本使其沿极坐标 x 轴径向打印? 编辑以提供示例: qplot(dat
我希望相对于图的其余部分减少 ggplot2 中内置的饼图的显示半径(因为默认值会不断切断我的类别标签)。 以下是一些虚拟数据和代码,可以向您展示我的经历: library(ggplot2) libr
我有一个使用 geom_smooth() 的极坐标图。平滑的黄土线非常小,围绕着地 block 的中心。我想“放大”,以便您能看得更清楚。 使用诸如 scale_y_continuous(limits
我有点难以在极坐标图中获取一条线的端点以与起点连接。 我的数据: df <- structure(list(ri = c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
我想在阿基米德螺旋上创建一个条形图,就像讨论的那样 here . 最终目标类似于 this ,但不那么势不可挡。 这是一个示例数据框: test % mutate(value = runi
我正在制作一个极坐标变换的条形图,其中几个 x 轴标签与绘图区域重叠。对于上下文,我正在开发一个 Shiny 的应用程序,您可以找到 here 的副本. 我试过使用 theme(axis.text.x
我试图绘制一个物体(假设它是一个风向标)随时间变化的角度。我想将其绘制在极坐标系上,并通过路径连接时间点,显示角度如何随时间变化。我只是有一个数据框,其中一列是角度(以度为单位)(数字),然后是记录角
我正在 ggplot 中使用 Polar_coord 构建同心圆图表,并且我需要删除特定的线。这是代码和情节: df <- data.frame(A=letters[1:12],
我是一名优秀的程序员,十分优秀!