Я делаю разброс в R с ggplot2. Я сравниваю долю голосов, полученных Хиллари и Берни на начальном и образовательном уровнях. Существует много переплетений и способов во многих точках. Я попытался использовать прозрачность, чтобы я мог видеть перекрытие, но все равно выглядит плохо.График рассеяния в R с большим перекрытием и 3000+ точек
Код:
demanalyze <- function(infocode, n = 1){
infoname <- filter(infolookup, column_name == infocode)$description
infocolumn <- as.vector(as.matrix(mydata[infocode]))
ggplot(mydata) +
aes(x = infocolumn) +
ggtitle(infoname) +
xlab(infoname) +
ylab("Fraction of votes each canidate recieved") +
xlab(infoname) +
geom_point(aes(y = sanders_vote_fraction, colour = "Bernie Sanders")) +#, color = alpha("blue",0.02), size=I(1)) +
stat_smooth(aes(y = sanders_vote_fraction), method = "lm", formula = y ~ poly(x, n), size = 1, color = "darkblue", se = F) +
geom_point(aes(y = clinton_vote_fraction, colour = "Hillary Clinton")) +#, color = alpha("red",0.02), size=I(1)) +
stat_smooth(aes(y = clinton_vote_fraction), method = "lm", formula = y ~ poly(x, n), size = 1, color = "darkred", se = F) +
scale_colour_manual("",
values = c("Bernie Sanders" = alpha("blue",0.02), "Hillary Clinton" = alpha("red",0.02))
) +
guides(colour = guide_legend(override.aes = list(alpha = 1)))
}
Что я могу изменить, чтобы область перекрытий выглядит менее грязной?
Попробуйте [плотность] (http://docs.ggplot2.org/0.9.2.1/stat_density2d.html). Два полупрозрачных должны сделать это. Обычно это помогает обеспечить воспроизводимый пример или данные. –
@SerbanTanasa Как я могу загрузить свой файл csv в переполнение стека? Я согласен с тем, что мне нужен график плотности, но я понятия не имею, как заставить их выглядеть хорошо. Точки в области с низкой плотностью трудно обнаружить. – 2426021684