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)