我正在嘗試制作“資訊圖表”簡歷,我想使用 R。我創建了一個甘特圖,現在想對我的技能進行排名。我不知道哪種型別的圖表帶有根據數字排名填充的生成圓圈。這是我想要的一個例子。下面是示例資料。任何幫助表示感謝

dput(datAnal_skills)
structure(list(Type = c("Programming", "Programming", "Programming",
"Programming", "Analytics", "Analytics", "Analytics", "Analytics",
"Personal", "Personal", "Personal", "Personal"), Skill = c("R",
"Perl", "Python", "SQL", "Visualization", "Statistics", "Databases",
"Research Design", "Problem-solver", "Motivated", "Team player",
"Multi-tasker"), Of.5 = c(4.7, 4.5, 4, 4, 4.7, 4.5, 4.5, 4.5,
4.5, 4.5, 4.5, 4.5), Of.10 = c(9L, 8L, 8L, 8L, 9L, 9L, 8L, 8L,
9L, 9L, 8L, 8L)), class = "data.frame", row.names = c(NA, -12L
))
uj5u.com熱心網友回復:
這是清理主題選項的嘗試。
df = df%>%
mutate(
score = round(Of.5)
) %>%
select(Type, Skill, score)
df = df %>%
expand(nesting(Type, Skill), score = 1:5) %>%
left_join(mutate(df, achieved = TRUE)) %>%
group_by(Type, Skill) %>%
mutate(achieved = lag(cumsum(coalesce(achieved, FALSE)) < 1, default = TRUE))
ggplot(df, aes(x = score, y = Skill, color = achieved))
geom_point(size = 2)
facet_grid(rows = vars(Type), scales = "free")
labs(x = "", y = "")
scale_x_continuous(expand = expansion(add = 0.5))
scale_color_manual(values = c("gray90", "gray20"), guide = "none")
ggthemes::theme_tufte(base_family = "Arial Black")
theme(
axis.text.x = element_blank(),
axis.ticks = element_blank(),
strip.background = element_rect(fill = "gray90", color = NA)
)

我要補充一點,原作之所以吸引人的原因在于它的簡單性。堅持整數分數。不要過度添加太多類別。而且您當前的資料方差如此之低,以至于無聊-如果您只給自己 4 分和 5 分,那么那里沒有很多資訊。
uj5u.com熱心網友回復:
您可以先創建一個點網格,然后根據網格位置是否低于分數為點著色。下面的示例適用于 10 分制,因為 5 分制不是整數,也不能很好地轉化為專案符號。
library(ggplot2)
# df <- structure(...) # omitted for brevity
# For every skill, place 10 bullets
grid <- expand.grid(skill_id = seq_along(df$Skill), bullets = 1:10)
# Match skill name and score from original data
grid$score <- df$Of.10[grid$skill_id]
grid$skill <- df$Skill[grid$skill_id]
ggplot(grid, aes(factor(bullets), skill))
geom_point(aes(colour = bullets <= score), size = 3)
scale_colour_manual(values = c("grey70", "grey30"),
guide = "none")

uj5u.com熱心網友回復:
像這樣的東西:
library(ggplot)
ggplot(df, aes(x=Skill, y=Type))
geom_point(aes(size=Of.10))
coord_flip()

uj5u.com熱心網友回復:
偉大的想法。這是我想出的。
datAnal_skills$Type<-factor(datAnal_skills$Type,levels=c("Programming","Analytics","Personal"))
#
ggplot(datAnal_skills, aes(x = Of.10, y = reorder(Skill,Of.10)))
geom_point(size = 3) # Use a larger dot
facet_wrap(~Type,scales = "free_y")
xlim(c(0,10))
ylab("")
xlab("")
theme_bw()
theme(
axis.text.x=element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_line(colour = "grey60", linetype = "dashed")
)

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/431967.html
