为了使我的图形适合黑白打印,我将一个变量与“形状”、“lty”、“颜色”映射在一起。
ggplot(df, aes(x=time, y=mean,
shape=quality,
lty=quality,
color=quality))
Run Code Online (Sandbox Code Playgroud)
我得到的数字是这样的
我想将图例的一部分作为订阅者,代码如下:
labels=c(expression(Pol[(Art)]), expression(Pol['(Aca-)']), expression(Pol['(Aca-)']))
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我将“标签”放在颜色或形状中时,它使图例变得非常复杂,例如,
是否可以将“shape”,“color”,“lty”映射到一个变量,并设置下标,但将它们保留在一组图例中?
我正在ggplot2中绘制堆栈条形图。我的数据集就像
var1 var2 var3 value
treatment1 group_1 C8.0 0.010056478
treatment2 group_1 C8.0 0.009382918
treatment3 group_2 C8.0 0.003014983
treatment4 group_2 C8.0 0.005349631
treatment5 group_2 C8.0 0.005349631
Run Code Online (Sandbox Code Playgroud)
var1包含5个处理,这五个处理属于中的两个组var2,每个处理中有14个测量var3值,其值存储在中value。
我想作图比较这五种治疗方法及其测量值。所以我用堆栈条形图绘制如下图:
我的代码:
library(ggplot2)
colourCount = length(unique(mydata$var3))
getPalette = colorRampPalette(brewer.pal(14, "YlGnBu")) #get more color from palette
ggplot(data=mydata, aes(x=var1, y=value, fill=var3))+
geom_bar(stat="identity", position="stack", colour="black", width=.2)+
*#geom_errorbar(aes(ymax=var3+se, ymin=var3-se, width=.1))+*
scale_fill_manual(values = getPalette(colourCount))+
scale_y_continuous(expand = c(0, 0))+
mytheme
Run Code Online (Sandbox Code Playgroud)
我如何将前两列堆叠在一起,而其他三列合并在一起?因为它们属于中的两个组var2。
我的数据集:
Taxa dn dc
Cha 10.2 -20.4
Cha 10.7 -19.7
Cha 4.9 -21.0
Cha 5.4 -20.6
Cha 8.6 -21.2
Cha 8.0 -20.9
Cha 8.1 -21.3
Cha 6.9 -21.1
Cha 8.5 -21.1
Cha 9.1 -20.8
Hyd 6.6 -19.2
Hyd 10.2 -17.0
Hyd 9.7 -18.2
Hyd 8.1 -16.5
Hyd 8.8 -15.8
Hyd 8.7 -15.8
Hyd 7.6 -18.3
Hyd 8.9 -16.0
Hyd 8.4 -17.5
Hyd 9.8 -18.8
Hyd 8.3 -18.4
Scy 9.4 -20.1
Scy 9.1 -20.0
Scy 7.8 -20.2
Scy 9.1 -17.6
Scy …Run Code Online (Sandbox Code Playgroud)