Я создаю пузырьковые диаграммы из кластеров данных NBA. Окончательная форма данных:
Где Group.1 — индекс кластера, ad.SHOT_MADE_FLAG — процент попаданий с игры для кластера, coords.x1 и x2 — средние координаты x и y точек в этом кластере, а x — количество бросков ( точки x и y) в этом кластере.
Я рисую данные со следующим:
courtImg.URL <- "https://thedatagame.files.wordpress.com/2016/03/nba_court.jpg"
court <- rasterGrob(readJPEG(getURLContent(courtImg.URL)),
width=unit(1,"npc"), height=unit(1,"npc"))
p6 <- ggplot(final, aes(x = final$coords.x1, y = final$coords.x2, size =
final$x,fill=final$ad.SHOT_MADE_FLAG)) +
geom_point(shape = 21) +
annotation_custom(court, -250, 250, -52, 418) +
scale_x_continuous() +
coord_fixed() +
scale_fill_gradientn(colours = c("Blue","Red")) +
theme(line = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank(),
plot.title = element_text(size = 17, lineheight = 1.2, face = "bold")) +
ggtitle("Stephen Curry Shot Chart")
p6
Это выводит следующую диаграмму
Я хочу решить две проблемы с этим. Во-первых, фоновое изображение закрывает большую часть данных. Во-вторых, я хочу показать график только ниже точки 418 по оси Y. Я не хочу показывать удары из тыловой зоны, поскольку они не так важны. Просто для справки: когда я удаляю строку annotation_custom(), она показывает следующий график:
Таким образом, реализация строки annotation_custom кажется частью проблемы. Любая помощь будет принята с благодарностью. Спасибо!