Для 1) да, эти строки ужасны. Я не знаю, что их вызывает, но поскольку каждый столбец представляет собой прямоугольник, я думаю, что это должен быть графический сбой. Возможно, вы могли бы предотвратить это, установив цвет гистограммы, идентичный заливке.
Для 2) я собираюсь играть в рискованную игру, не давая ответа, который вы хотите услышать (а именно, как это сделать операции в сетке), но, давая вам ответ, я думаю, что вы должны услышать.
Предполагая, что ваша цель - отобразить эти гистограммы в виде маргинальных гистограмм на главной панели, вы можете легко добиться чего-то подобного в пэчворке.
library(ggplot2)
library(patchwork)
#> Warning: package 'patchwork' was built under R version 3.6.3
a <- ggplot(data = iris,
aes(x=Sepal.Length, y=Sepal.Width)) +
geom_point()
b <- ggplot(data = iris,
aes(x = Sepal.Length)) +
geom_histogram()
c <- ggplot(data = iris,
aes(x = Sepal.Width)) +
geom_histogram() +
coord_flip()
b + plot_spacer() + a + c +
plot_layout(nrow = 2, ncol = 2, widths = c(1, 0.5), heights = c(0.5, 1))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
![](https://i.imgur.com/B52IIr3.png)
Создано в 2020-04-18 пакетом представ. (v0.3.0)
Вы также можете оставить оси маргинальных графиков, устанавливая разрывы и имена :
b + scale_x_continuous(breaks = NULL, name = "") +
plot_spacer() +
a +
c + scale_x_continuous(breaks = NULL, name = "") +
plot_layout(nrow = 2, ncol = 2, widths = c(1, 0.5), heights = c(0.5, 1))
![](https://i.imgur.com/HmQNLz5.png)