Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用ggplot2以所需比例绘制? 目标_R_Ggplot2 - Fatal编程技术网

R 如何使用ggplot2以所需比例绘制? 目标

R 如何使用ggplot2以所需比例绘制? 目标,r,ggplot2,R,Ggplot2,我有一些车辆的位置,我想将其可视化为交通的俯视图 资料 我有以下两个数据集: dat1 <- structure(list( fvn = 1L, Time = 0, xn1 = 100, vn1 = 13.9, ln1 = 5, sn_star = 9.41820693123826, v_dot = -1.44071910265916, xn = 85, vn = 12, sn = 10, deltav = -1.9 ), row.names = c(NA, -1L), cla

我有一些车辆的位置,我想将其可视化为交通的俯视图

资料 我有以下两个数据集:

dat1 <- structure(list(
  fvn = 1L, Time = 0, xn1 = 100, vn1 = 13.9, ln1 = 5,
  sn_star = 9.41820693123826, v_dot = -1.44071910265916, xn = 85,
  vn = 12, sn = 10, deltav = -1.9
), row.names = c(NA, -1L), class = "data.frame")


dat2 <- structure(list(fvn = 1:5, Time = c(0, 0, 0, 0, 0), xn1 = c(
  100,
  85, 70, 55, 40
), vn1 = c(13.9, 12, 12, 12, 12), ln1 = c(
  5, 5,
  5, 5, 5
), sn_star = c(9.41820693123826, 16, 16, 16, 16), v_dot = c(
  -1.44071910265916,
  -1.5, -1.5, -1.5, -1.5
), xn = c(85, 70, 55, 40, 25), vn = c(
  12,
  12, 12, 12, 12
), sn = c(10, 10, 10, 10, 10), deltav = c(
  -1.9,
  0, 0, 0, 0
)), row.names = c(NA, -5L), class = "data.frame")

更好的结果 如果我更改
ylim
,这会有所改善:

ggplot() +
  geom_rect(data = dat1,
            aes(xmin = xn1 - ln1,
                xmax = xn1,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_rect(data = dat2,
            aes(group = fvn,
                fill = as.factor(fvn),
                xmin = xn - 5,
                xmax = xn,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_hline(yintercept = 3.6, linetype = "longdash") +
  ylim(c(0, 75)) +
  xlim(c(20, 100))


这是更好的,因为汽车现在看起来比预期的更长,但大部分地块是空的我怎样才能去掉这个空白呢?

你可以使用
coord\u fixed
来保持
比率=1

ggplot() +
  geom_rect(data = dat1,
            aes(xmin = xn1 - ln1,
                xmax = xn1,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_rect(data = dat2,
            aes(group = fvn,
                fill = as.factor(fvn),
                xmin = xn - 5,
                xmax = xn,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_hline(yintercept = 3.6, linetype = "longdash") +
  coord_fixed(ratio=1)

ggplot() +
  geom_rect(data = dat1,
            aes(xmin = xn1 - ln1,
                xmax = xn1,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_rect(data = dat2,
            aes(group = fvn,
                fill = as.factor(fvn),
                xmin = xn - 5,
                xmax = xn,
                
                ymin = 0.628,
                ymax = 3.028)) +
  geom_hline(yintercept = 3.6, linetype = "longdash") +
  coord_fixed(ratio=1)