Я надеюсь построить несколько диаграмм, чтобы отобразить тенденции/эффективность некоторых игроков и команд НБА. Я хотел бы отформатировать шестиугольники следующим образом: размер будет представлять количество снимков, а цвет будет представлять относительную эффективность (pts/try) из этого местоположения. Вот отличный пример того, что я ищу, созданный Kirk Goldsberry:
Я смог использовать hexbins
и hexTapply
для достижения чего-то близкого к желаемому результату, но формы - круги. Вот мой код (который включает примеры данных):
library(hexbin); library(ggplot2)
df <- read.table(text="xCoord yCoord pts
11.4 14.9 2
2.6 1.1 0
4.8 4.1 2
-14.4 8.2 2
4.2 0.3 0
0.4 0.0 2
-23.2 -1.1 3", header=TRUE)
h <- hexbin (x=df$xCoord, y = df$yCoord, IDs = TRUE, xbins=50)
pts.binned <- hexTapply (h, df$pts, FUN=mean)
df.binned <- data.frame (xCoord = [email protected],
yCoord = [email protected], FGA = [email protected], pts = pts.binned)
chart.player <- ggplot (df.binned, aes (x =xCoord ,
y =yCoord , col = pts, size = FGA)) + coord_fixed() +
geom_point() + scale_colour_gradient("Points/Attempt", low = "green", high="red")
Еще один способ подумать об этом - это раскрасить шестиугольники в plot(h, style="lattice")
с помощью pts/try - но я не уверен, как это сделать.
Есть ли способ получить этот граф с шестиугольниками, а не с кругами?