Как использовать конкретное назначение цвета для нескольких графиков geom_point на одном графике в R - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь создать график в R, чертя простые координаты X и Y отдельных местоположений для каждого шага на точечной диаграмме, распределенных по категориям для разных типов полей (бейсбол).Всего существует 13 возможных типов высоты тона, но мой график покажет только 3-7 типов ... не бросает питчер все 13 типов.В дополнение к отдельным местоположениям для каждого шага, я хочу построить средние местоположения, разделенные по типу высоты.

Я хочу назначить каждому типу высоты тона ("CH", "CU", "FF", ...) определенные шестнадцатеричные коды цвета.Имейте в виду, я планирую использовать это для других кувшинов, с различными типами подачи (все из того же набора из 13 типов подачи).Мне бы хотелось, чтобы цвета были одинаковыми на разных графиках.

В настоящее время я могу построить каждую отдельную координату X & Y, а также средние значения.Тем не менее, я не могу понять, как назначить желаемые цветовые шестнадцатеричные коды для каждого типа высоты звука.

Image Link Вот мой код:

#Libraries Loaded:
library(baseballr)
library(ggplot2)
library(dbplyr)
library(grDevices)
library(ggplot2)
library(grid)
library(gridExtra)
library(ggpubr)


#Pull the data
yesterday<- Sys.Date()-1

felix<-scrape_statcast_savant(start_date=yesterday-30, end_date=yesterday,playerid = "433587", player_type = 'pitcher')


#Create dataframe with calculated average release locations
avglocfelix<- felix %>%
  group_by(pitch_type) %>%
  summarize(N=n(),
    avg_rpx=mean(release_pos_x, na.rm = TRUE),
    avg_rpz=mean(release_pos_z, na.rm=TRUE))


#Make pitch types factor() [is this necessary?]
felix$fpitch_type <- factor(felix$pitch_type)
avglocfelix$fpitch_type<- factor(avglocfelix$pitch_type)


#plot both: individual locations and avg locations
#[image attached. small dots are individual locations, large dots are avg. locations]
ggplot()+geom_point(data=felix, aes(felix$release_pos_x, felix$release_pos_z, color=felix$fpitch_type), size=3)+
  geom_point(data=avglocfelix, aes(avglocfelix$avg_rpx, avglocfelix$avg_rpz, color=avglocfelix$fpitch_type), size=7)

Заранее благодарим за любую помощь, которую вы все можете предоставить.Я новичок в этом, поэтому дайте мне знать, если я что-то упустил.

1 Ответ

1 голос
/ 28 сентября 2019

Вот пример с данными iris.Вы должны быть в состоянии определить все цветовые коды и применить их.Он будет использовать определенные цвета, необходимые каждому графику.

my_colors <- c("setosa" = "#E15759",
               "CU" = "#59A14F",
               "CH" = "#FF9DA7",
               "versicolor" = "#4E79A7",
               "virginica" = "#76B7B2")

ggplot(iris, aes(x = Sepal.Width, y = Sepal.Length, color = Species)) +
  geom_point(size = 5) +
  scale_color_manual(values = my_colors)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...