我有数据可以看到两种不同物种的单一栽培和混合栽培之间的生长差异.此外,我制作了一个图表,以使我的数据清晰.
我想要一个带有误差条的条形图,整个数据集当然更大,但是对于这个图,这是data.frame
带有条形图的方法.
plant species means
Mixed culture Elytrigia 0.886625
Monoculture Elytrigia 1.022667
Monoculture Festuca 0.314375
Mixed culture Festuca 0.078125
Run Code Online (Sandbox Code Playgroud)
有了这个数据I作出的曲线图ggplot2
,其中plant
是在x轴和means
所述y轴和I中使用的小面来划分种类.
这是我的代码:
limits <- aes(ymax = meansS$means + eS$se, ymin=meansS$means - eS$se)
dodge <- position_dodge(width=0.9)
myplot <- ggplot(data=meansS, aes(x=plant, y=means, fill=plant)) + facet_grid(. ~ species)
myplot <- myplot + geom_bar(position=dodge) + geom_errorbar(limits, position=dodge, width=0.25)
myplot <- myplot + scale_fill_manual(values=c("#6495ED","#FF7F50"))
myplot <- myplot + labs(x = "Plant treatment", y = "Shoot biomass (gr)")
myplot …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用错误栏创建一个直线和点图.它有不同的因素,但有些因素只有一个值.我发现如果我使用position_dodge,其中一个单值因子与图中的其他误差条相比具有更宽的误差条.不知何故,position_dodge对错误栏的宽度有影响.我之前没有找到任何有同样问题的人,所以我希望有人可以帮助我.
虚拟数据:
require(ggplot2)
x <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,3,3,5)
y <- c(3,5,6,3,5,3,5,6,2,6,3,7,3,6,2,1,5,8,7)
se <- x*0.2
treatment <- c("A", "B","C", "D","A", "B","C", "D","A", "B","C", "D","A", "B","C", "D","E", "F", "G" )
data <- data.frame(x, y, se ,treatment)
data$treatment <- as.factor(data$treatment)
Run Code Online (Sandbox Code Playgroud)
首先是没有position_dodge的情节 - 一切都很好
# Without position dodge
myplot <- ggplot(data, aes(x=x, y=y, group= treatment, fill = treatment, colour = treatment)) +
geom_line(stat="identity", size = 1) +
geom_point(stat="identity", size = 3, shape = 21) +
geom_errorbar(aes(ymin = y-se, ymax = y+se), width = 0.2)
myplot
Run Code Online (Sandbox Code Playgroud)
现在是一个位置躲闪的情节: …
我想使用cowplot将一些图组合在一起.但我不能改变边距大小.我想只使用一个y轴,但是边距仍然很大,我想减少.我已经使用了ggplot中的plot.margin代码,虽然当我查看单个图时它会起作用,但是当这些图组合时它似乎不起作用.
我做了一些示例代码:
library(ggplot2)
library(cowplot)
x <- c("a", "b")
y1 <- c(3,6)
y2 <- c(10,15)
data1 <- data.frame(x,y1)
data2 <- data.frame(x, y2)
ylab1 <- ylab("Very nice y values")
xlab1 <- xlab("Very nice factors")
plot1 <- ggplot(data1, aes(x=x, y = y1)) +
geom_bar(stat ="identity", position=position_dodge(), fill = "grey")+
theme(plot.margin = unit(c(0.5,0.5,0.5,0.5), "cm")) + xlab1 + ylab1
plot1
ylab2 <- ylab("")
xlab2 <- xlab("Very nice factors")
plot2 <- ggplot(data2, aes(x=x, y = y2)) +
geom_bar(stat = "identity",position=position_dodge(), fill = "grey")+
theme(plot.margin = unit(c(0.5,0.5,0.5,-0.5), …
Run Code Online (Sandbox Code Playgroud) 我想用 plotly 制作一个 3d 曲面图。这很顺利,但是 x 和 y 轴上的值没有意义。它们比应有的要高得多。我为绘图使用了一个矩阵,x 和 y 值是行名和列名,z 值(称为高程)当然是矩阵本身。Plotly 似乎没有使用 x 和 y 数据的值。矩阵中的 x 和 y 值范围为 0 到 6。这是我的矩阵的一个小样本:
head(m.dune)
> 1.90 1.95 2 2.05 2.01 2.15
> 0 NA NA NA NA NA NA
> 0.05 NA NA NA NA NA NA
> 0.10 1.14 1.14 NA NA NA NA
> 0.15 1.15 1.15 1.15 1.15 1.16 1.16
> 0.20 1.16 1.16 1.16 1.16 1.16 1.17
> 0.25 1.17 1.17 1.17 1.17 1.18 …
Run Code Online (Sandbox Code Playgroud)