약간 이상한 방식으로 점 플롯을 사용하고 있지만 그래픽을 생성하고 있음을 알고 있습니다. 필요; 각 프리미어 리그 축구 클럽의 각 포지션에서 얼마나 많은 플레이어가 있는지를 보여줍니다. 나는 선수가 분대 선수인지 청소년 선수인지를 보여주는 여러 범주를 가지고 있는데, 이들은 두 선수가 겹쳐지지 않도록 두 번째 선수가 따로 꾸몄다.ggplot2 - 도트 플롯이 같은 좌표에서 채색 점이 아닌 경우 범례와 함께 수동 그래디언트를 적용하는 방법
각 플레이어가 플레이 한 시간을 기준으로 점을 음영 처리하는 또 다른 정보 레이어를 추가하고 싶습니다. 데이터 프레임에이 데이터가 있습니다.
데이터가 "그룹화"되어 있지 않은 경우를 제외하고는 회색으로 표시됩니다.
는 내가 좋은 연구 질문 생산에 지침을 읽었습니다. 거대한 데이터가 아닌 문제를 보여주기 위해 데이터를 줄였으며이 시점과 그래프 제목 등으로 데이터를 조작하는 것과 같은 모든 코드 행을 제거했습니다.
이것은 20 명의 플레이어로 이루어진 샘플로, 16 멋지게 착색 된 도트 및 2 쌍의 회색, 무색 점. 내 실제 코드에서
library(ggplot2)
ggplot()+
geom_dotplot(data=u21, aes(x=team, y=pos, fill=mins), binaxis='y', stackdir="center", stackratio = 1, dotsize = 0.1, binwidth=0.75, position=position_nudge(y=-0.1)) +
scale_fill_gradient(low="pink",high='red')
내가 다시 ggplot 줄을 실행하지만, 다른 색의 그라데이션으로 다른 데이터 프레임을 호출하고 다른 : 여기
structure(list(team = structure(c(2L, 3L, 4L, 4L, 5L, 6L, 8L, 9L, 11L, 12L, 5L, 6L, 7L, 10L, 12L, 12L, 1L, 4L, 5L, 7L), .Label = c("AFC Bournemouth", "Arsenal", "Brighton & Hove Albion", "Chelsea", "Crystal Palace", "Everton", "Huddersfield Town", "Leicester City", "Liverpool", "Swansea City", "Tottenham Hotspur", "West Bromwich Albion"), class = "factor"),
role = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "U21", class = "factor"),
name = structure(c(10L, 2L, 1L, 15L, 13L, 19L, 4L, 7L, 20L,
8L, 17L, 9L, 18L, 11L, 3L, 6L, 14L, 5L, 12L, 16L), .Label = c("Boga",
"Brown", "Burke", "Chilwell", "Christensen", "Field", "Grujic",
"Harper", "Holgate", "Iwobi", "Junior Luz Sanches", "Loftus Cheek",
"Lumeka", "Mousset", "Musonda", "Palmer", "Riedwald", "Sabiri",
"Vlasic", "Walker-Peters"), class = "factor"), pos = structure(c(6L,
7L, 6L, 6L, 6L, 5L, 2L, 4L, 3L, 6L, 1L, 1L, 5L, 4L, 6L, 4L,
7L, 1L, 4L, 5L), .Label = c("2. CB", "3. LB", "3. RB", "4. CM",
"5. AM", "5. WM", "6. CF"), class = "factor"), mins = c(11,
24, 18, 1, 25, 10, 90, 6, 90, 20, 99, 180, 97, 127, 35, 156,
32, 162, 258, 124)), .Names = c("team", "role", "name", "pos", "mins"), row.names = 471:490, class = "data.frame")
은 내가 사용하고 코드입니다 점들이 겹치지 않도록 찔러주세요.
안녕하세요, 귀하의 도움에 감사드립니다, 그 샘플에서 작동하지만 전체 데이터 프레임 (약 460 점)에서 그것을 시도하면 지터의 임의 특성으로 인해 때로는 3 명의 플레이어가 걸릴 것처럼 매우 엉망으로 보입니다. 4보다 많은 공간을 확보하여 시각적으로 '한눈에'자연을 잃어 버리게됩니다. 색상 코딩 오류는 문제 해결을위한 훌륭한 아이디어입니다. 고마워요 @ RyanRunge –
@ChrisBaker - 충분히 공평합니다. 특정 유스 케이스에 도움이되는 복잡한 옵션을 추가하기로 결정했습니다. 위의 편집을 참조하십시오. – www
@ChrisBaker - 귀하의 질문에 답이있는 경우이 해결책 옆에있는 체크 표시를 클릭하십시오. 커뮤니티에서 문제가 해결되었다는 것을 알게되고, 같은 질문을 가진 다른 사람들이 자신의 답을 더 빨리 찾을 수있게 도와줍니다. – www