是否有一个功能可以帮助我将图例从数字格式转换为名称格式,并有代码删除ggplot中的主要和次要网格线?

问题描述

我设法获得了想要的绘图类型,但是未能将图例格式设置为男性和女性,而不是1和2。我以前设法获得了一个干净的绘图,而绘图中的网格线相同我现在失败的命令

enter image description here

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()

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...