Why do not these graphs save in the .jpg file? The codes are able to generate graphs in
default plots panel, but can't be saved in C:\Temp\1_AK.jpg...files.
The .jpg files are there, but are empty. Also if I want to be back to default device setting,
I have to restart session. Something is related to dev.off() and jpeg(). No idea!
Any suggestion? Thanks in advance.
library(tidyverse)
all_st <- data.frame(
stringsAsFactors = FALSE,
state = c("AK","AK","AK","AK","AK",
"AK","AK","AK","AK","AK","AK","AK","AK","AK","AK",
"AK","AK","AK","AK","AK","AK","AK","AK","AK",
"AL","AL","AL","AL","AL","AL","AL","AL","AL","AL",
"AL","AL","AL","AL","AL","AL","AL","AL","AL",
"AL","AL","AL","AL","AL","AL","AL","AL","AL","AL",
"AL","AL","AL","AL","AL","AL","AL","AL","AL",
"AL","AL","AL","AL","AL","AL","AL","AL","AL","AL"),
mif_id = c(1,1,1,1,1,1,1,1,2,2,2,
2,2,2,2,2,5,5,5,5,5,5,5,5,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5),
reporting_period = c("1Q22","1Q22","2Q22","2Q22",
"3Q22","3Q22","4Q22","4Q22","1Q22","1Q22","2Q22",
"2Q22","3Q22","3Q22","4Q22","4Q22","1Q22","1Q22",
"2Q22","2Q22","3Q22","3Q22","4Q22","4Q22","1Q21",
"1Q21","1Q22","1Q22","2Q21","2Q21","2Q22","2Q22",
"3Q21","3Q21","3Q22","3Q22","4Q21","4Q21","4Q22",
"4Q22","1Q21","1Q21","1Q22","1Q22","2Q21","2Q21",
"2Q22","2Q22","3Q21","3Q21","3Q22","3Q22","4Q21","4Q21",
"4Q22","4Q22","1Q21","1Q21","1Q22","1Q22","2Q21",
"2Q21","2Q22","2Q22","3Q21","3Q21","3Q22","3Q22",
"4Q21","4Q21","4Q22","4Q22"),
type = c(1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1),
group = c("Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg","Rate","Nat_avg","Rate",
"Nat_avg","Rate","Nat_avg"),
rates = c(91,94,100,95,89,95,93,94,
100,99,100,99,100,99,100,99,100,97,100,97,
100,97,100,97,93,95,93,94,93,96,93,95,91,94,
94,95,91,94,94,94,99,99,99,99,100,99,100,99,
99,99,99,99,99,99,100,99,97,97,97,97,94,97,
96,97,96,98,97,97,96,97,97,97)
)
stlist <- as.vector(all_st$state) %>% unique()
for(i in 1:length(stlist)){
stcd=stlist[i]
st_data <- all_st %>% filter(state==stcd)
msrlist <- as.vector(st_data$mif_id) %>% unique()
for(j in 1:length(msrlist)){
msrcd <- msrlist[j]
one_msr <- st_data %>% filter(mif_id==msrcd)
# reset device
dev.off()
fullname <- paste0('C:\\Temp\\',msrcd,'_',stcd,'.jpg')
# open JPEG device
jpeg(filename = fullname, width = 540, height = 360,
pointsize = 12, quality = 75)
ggplot(one_msr, aes(y=rates, x=reporting_period, group=group, color=group)) +
geom_point(size=3) +
geom_line(linewidth=1) +
scale_colour_manual(name=" ", values=c(Nat_avg="blue",Rate="red"),
breaks=c("Rate","Nat_avg"),
labels=c("State Rate","Overall Rate")) +
theme(legend.position = "bottom", axis.text.x = element_text(angle=30, hjust=1, vjust=.5))
}
}
dev.off()