Mam nadzieję, że skonstruuję kilka wykresów, aby wyświetlić tendencje strzeleckie/skuteczność niektórych graczy i drużyn NBA. Chciałbym sformatować sześciokąty w następujący sposób: rozmiar będzie reprezentował liczbę strzałów, a kolor będzie reprezentował względną wydajność (pts/próbę) z tej lokalizacji. Here is a great example czego szukam, stworzony przez Kirk Goldsberry:Używanie atrybutów koloru i rozmiaru w Hexagon Binning (ggplot2)
byłem w stanie wykorzystać hexbins
i hexTapply
osiągnąć coś podobnego do pożądanego wyniku, ale kształty są kręgi. Tu jest mój kodu (który zawiera przykładowe dane):
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")
Innym sposobem, aby myśleć o tym, że będzie do barwienia sześciokątów w plot(h, style="lattice")
przez pkt/próbę - ale nie jestem pewien jak to zrobić, albo .
Czy istnieje sposób na uzyskanie tego wykresu za pomocą sześciokątów zamiast okręgów?
Tylko jestem ciekaw. jakie jest znaczenie ujemnych współrzędnych? Punkt jest liczony w koszyku, nawet gdy strzelasz poza ziemią? – agstudy
Myślę, że lokalizacja koszyka to c (0,0). –
To poprawne DWin. Współrzędne są w stopach i odnoszą się do koszyka przy 0,0. Tak więc strzał (-23,2, -1.1) byłby lewym 3 ruchem, który znajduje się 23.2 stóp na lewo od obręczy i prawie jedną stopę za środkiem obręczy. Zwróć uwagę, że obręcz znajduje się 5,2 stopy od linii podstawowej, więc ten strzał nadal znajduje się w polu gry. Dzięki za zmiany DWin – Wynnerbago