小编Sco*_*ott的帖子

ggplot2可以在一个图例中分别控制点大小和线条大小(线宽)吗?

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)

问题是,相对于线符号,图例中的点符号看起来有点太小而无法看到:

p

尝试在图例中放大点大小也会扩大线宽,因此在这里没有用.

p1 <- p + guides(shape = guide_legend(override.aes = list(size = 4)))
Run Code Online (Sandbox Code Playgroud)

P1

如果线宽是一种独特的美学,那将是很好的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)

这似乎没有什么区别或者,如果我移动 …

r graph legend ggplot2

10
推荐指数
2
解决办法
5411
查看次数

使用data.table进行矩阵运算和分量加法

如果事先不知道要求和的矩阵数,那么进行分量加法的最佳方法是什么?更一般地说,有没有一种很好的方法在的上下文中执行矩阵(或多维数组)操作?我data.table通过几个固定变量或类别对数据进行排序和分组的效率,每个变量或类别包含不同数量的观察值.

例如:

  1. 找到数据的每个观察(行)中给出的向量分量的外积,返回每行的矩阵.
  2. 在每组数据类别的所有行上按组件顺序对结果矩阵求和.

这里用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)

r matrix outer-join data.table

7
推荐指数
1
解决办法
804
查看次数

标签 统计

r ×2

data.table ×1

ggplot2 ×1

graph ×1

legend ×1

matrix ×1

outer-join ×1