【发布时间】:2022-07-19 21:32:52
【问题描述】:
我需要通过每个从给定链接导入附加的 csv 数据来绘制面板图(也附有示例面板图)。每个状态应包含三列 - wt、avg 和 observed,可以表示为图例或 x 轴,y 轴应显示值。 我尝试在 R 中的 ggplot 中执行此操作,但未能成功。 请帮助绘制此面板图。
谢谢, 兰吉特
【问题讨论】:
我需要通过每个从给定链接导入附加的 csv 数据来绘制面板图(也附有示例面板图)。每个状态应包含三列 - wt、avg 和 observed,可以表示为图例或 x 轴,y 轴应显示值。 我尝试在 R 中的 ggplot 中执行此操作,但未能成功。 请帮助绘制此面板图。
谢谢, 兰吉特
【问题讨论】:
您需要将数据转换为长格式
library(tidyverse)
df <- data.frame(
stringsAsFactors = FALSE,
State = c("Andhra Pradesh","Assam",
"Chhattisgarh","Goa","Gujarat","Haryana",
"Himachal Pradesh","Jharkhand","Karnataka","Kerala","Madhya Pradesh",
"Maharashtra","Manipur","Meghalaya","Odisha",
"Rajasthan","Tamil Nadu","Telangana","Tripura",
"Uttar Pradesh","Uttarakhand"),
Wt = c(0.092066576,0.023850206,
0.209830138,0.021634993,0.104840239,0.047869204,
0.014229008,0.074248143,0.188853639,0.146991971,0.148019121,
0.189564031,0.085808664,0.011884387,0.094447032,
0.144303211,0.117343681,0.202923922,0.03803334,0.053658285,
0.119787823),
Average = c(0.169362016,0.034176857,
0.186025075,0.016147401,0.130255382,0.062373442,
0.010081942,0.046698501,0.226191488,0.111300912,0.159568882,
0.183921131,0.137737491,0.00330759,0.07948901,
0.128878331,0.126884204,0.202655408,0.020871119,0.079228524,
0.11927443),
Observed = c(0.083424473,NA,0.143548462,
0.010416667,0.006917477,0.061286714,0.077690577,NA,
0.1236367,0.279077323,0.181443002,0.222805733,
0.065743945,0.077922078,0.093420292,0.140944809,0.113274769,
NA,0.021522733,0.065261781,0.106522255)
) %>%
pivot_longer(Wt:Observed)
ggplot(data = df,
mapping = aes(x = name, y = value, fill = name))+
geom_col()+
geom_text(label = round(df$value, 2),
vjust = -0.8) +
facet_wrap(~State)
【讨论】: