我对使用线型和线条颜色的图表图例有疑问。我希望图例只显示我使用的两种颜色,并省略图例中的线型。我计划对线条进行注释,因此不需要图例。我找不到解决这个问题的方法。
这是我使用的数据集的头部。变量StateAndGender有4个不同的值,两个国家各有两个性别。
head(le)
Age StateAndGender Value V4
1 <1 EuM 0.03774679 1
2 4-5 EuM 0.02771025 2
3 5-9 EuM 0.03086298 3
4 10-14 EuM 0.03001608 4
5 15-19 EuM 0.04380364 5
6 20-24 EuM 0.05579602 6
当我执行下面的代码时,我得到:
le.chart <- ggplot(data=le, aes(x=reorder(Age, V4), y=Value,
group=StateAndGender,linetype=StateAndGender, col=StateAndGender))
le.chart +
geom_line(size=1.25) +
coord_fixed(ratio=0.5)+
theme(text=element_text(size=12, family="Times New Roman"),
axis.text=element_text(size=10),
axis.title=element_text(size=11))+
scale_linetype_manual(values=c(1,8,1,8), guide=FALSE) +
scale_color_manual(values = c("#636363","#636363","#BDBDBD","#BDBDBD"),
labels=c("Country 1 / Italic text "," ", "Country / Italic text"),
guide=guide_legend(title = "Легенда"))+
annotate("text", label = "Males / ITALIC TEXT ", x = 13, y=18, family="Times New Roman")+
annotate("text", label = "Females / ITALIC TEXT ", x = 16, y =1.25, family="Times New Roman")+
xlab(NULL)+
ylab(NULL)+
guides(linetype=FALSE)
我尝试将StateAndGender变量拆分为两个并设置group = State,linetype = State,col = Gender,但我收到错误:
"Error: geom_path: If you are using dotted or dashed lines, colour, size and linetype must be constant over the line"
如果无法完成我想要的,有没有办法手动定义图例的各个方面,将其与数据完全分开?
顺便说一下,我使用带有部分斜体文本注释的注释会遇到单独的问题。表达式(斜体(“斜体文字”))似乎不起作用(它根本不显示文字)
答案 0 :(得分:-1)
尝试从linetype=StateAndGender
中移除aes(...)
,并将其置于整个ggplot(..)
函数或geom_line(...)
函数中。它看起来像这样:
le.chart <- ggplot(data=le, aes(x=reorder(Age, V4), y=Value,
group=StateAndGender, col=StateAndGender),linetype=StateAndGender)
le.chart + . . .