ggplot2用于绘制数据点组和连接每个组的均值的线组的示例,使用相同的aesfor shape和for 映射linetype:
p <- ggplot(mtcars, aes(gear, mpg, shape = factor(cyl), linetype = factor(cyl))) +
geom_point(size = 2) +
stat_summary(fun.y = mean, geom = "line", size = 1) +
scale_shape_manual(values = c(1, 4, 19))
Run Code Online (Sandbox Code Playgroud)
问题是,相对于线符号,图例中的点符号看起来有点太小而无法看到:

尝试在图例中放大点大小也会扩大线宽,因此在这里没有用.
p1 <- p + guides(shape = guide_legend(override.aes = list(size = 4)))
Run Code Online (Sandbox Code Playgroud)

如果线宽是一种独特的美学,那将是很好的size.我尝试添加
+ guides(linetype = guide_legend(override.aes = list(size = 1)))
Run Code Online (Sandbox Code Playgroud)
这只是一个警告.
> Warning message:
In guide_merge.legend(init, x[[i]]) : Duplicated override.aes is ignored.
Run Code Online (Sandbox Code Playgroud)
这似乎没有什么区别或者,如果我移动 …
如果事先不知道要求和的矩阵数,那么进行分量矩阵加法的最佳方法是什么?更一般地说,有没有一种很好的方法在data.table的上下文中执行矩阵(或多维数组)操作?我data.table通过几个固定变量或类别对数据进行排序和分组的效率,每个变量或类别包含不同数量的观察值.
例如:
这里用2x2矩阵说明,只有一个类别:
library(data.table)
# example data, number of rows differs by category t
N <- 5
dt <- data.table(t = rep(c("a", "b"), each = 3, len = N),
x1 = rep(1:2, len = N), x2 = rep(3:5, len = N),
y1 = rep(1:3, len = N), y2 = rep(2:5, len = N))
setkey(dt, t)
> dt
t x1 x2 y1 y2
1: a 1 3 1 2
2: a 2 4 …Run Code Online (Sandbox Code Playgroud)