如何解决是否有一个功能可以帮助我将图例从数字格式转换为名称格式,并有代码删除ggplot中的主要和次要网格线?
我设法获得了想要的绘图类型,但是未能将图例格式设置为男性和女性,而不是1和2。我以前设法获得了一个干净的绘图,而绘图中的网格线相同我现在失败的命令
library(reshape2)
library(ggplot2)
mydata <- factor(format(seq(as.Date('2020-01-01'),length.out=12,by='1 month'),'%b'),levels = format(seq(as.Date('2020-01-01'),ordered = T)
Male <- c(25,17,21,49,41,75,94,50,38,26,55)
Female <- c(34,25,45,86,87,12,10,96,63,68)
#Create data
df <- data.frame(mydata,Male,Female)
#Melt
df.melted <- melt(df,id.vars = 'mydata')
#plot
ggplot(df.melted,aes(x=factor(mydata),y=value,color=variable,group=variable))+
geom_point()+
geom_line()+
scale_color_manual(labels=c(1:2),values = c('blue','red'))+
xlab('Months')+ylab('Number of males and females')+
scale_fill_distiller(name=expression(Entrant),labels = parse(text=c("Male","Female")) +
theme_bw()
theme(axis.line=element_line(colour="black"),panel.grid.major=element_blank(),panel.grid.minor=element_blank(),panel.border=element_blank(),panel.background=element_blank())
解决方法
您可以大大简化代码并获得所需的结果:
ggplot(df.melted,aes(x = mydata,y = value,color = variable,group = variable)) +
geom_point() +
geom_line() +
scale_color_manual(values = c('blue','red')) +
xlab('Months') +
ylab('Number of males and females') +
theme_classic()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。