我正在创建一个刻面图,以预测值与残差的图表并排查看预测值与实际值.我将shiny用于帮助探索使用不同训练参数的建模工作的结果.我用85%的数据训练模型,测试剩余的15%,并重复5次,每次收集实际/预测值.计算残差后,我的data.frame样子如下:
head(results)
act pred resid
2 52.81000 52.86750 -0.05750133
3 44.46000 42.76825 1.69175252
4 54.58667 49.00482 5.58184181
5 36.23333 35.52386 0.70947731
6 53.22667 48.79429 4.43237981
7 41.72333 41.57504 0.14829173
Run Code Online (Sandbox Code Playgroud)
我想要的是:
pred与act和pred对比residpred对act是相同的,理想地从min(min(results$act), min(results$pred))至max(max(results$act), max(results$pred))pred与resid 不被通过我做什么实际与预测的情节影响.x只绘制预测值并y仅绘制剩余范围就可以了.为了并排查看两个图,我将数据融化:
library(reshape2)
plot <- melt(results, id.vars = "pred")
Run Code Online (Sandbox Code Playgroud)
现在情节:
library(ggplot2)
p <- ggplot(plot, aes(x = pred, y = …Run Code Online (Sandbox Code Playgroud) 这个答案描述了如何在ggplot中更改绘图的y限制.假设我有一个刻面图,每个面都有不同的ylim,例如
facet_wrap(~some_facet, scales="free_y")
Run Code Online (Sandbox Code Playgroud)
如何以不同方式更改每个方面的y限制?
我想修改facet_wrap中每个图形的y轴的断点和限制.我希望例如减少其中一些的休息时间,或者我希望它们从0开始.
ggplot(granuControlLw, aes(distance, group=time))
+ geom_line(aes(y = D)) + xlab("Distance from the gate (m)")
+ geom_point(aes(y = D, shape = factor(time)), size=4.5) + theme_bw()
+ theme(axis.text.x = element_text(size = 15, angle = 90), axis.text.y = element_text(size = 15, angle = 0))
+ scale_x_continuous(breaks=seq(-50,1100,50))
+ theme(axis.text = element_text(size = 15),axis.title = element_text(size = 15),legend.title = element_text(size = 15, face = 'bold'),legend.text= element_text(size=15), axis.line = element_line(colour = "gray"))
+ theme(strip.background = element_blank())
+ facet_wrap (evolution~ section, scale="free_y", ncol=1)
Here is a few …Run Code Online (Sandbox Code Playgroud) 我在facet_grid()的帮助下创建了在ggplot中显示不同分数(0 - 100%)的饼图.然而,最后得分是结合其他得分的总得分,并且为了将其与其他得分更好地区分,我想更改该特定方面的参数.理想情况下,我想使facet-label变为粗体并将facet移动远离其他facet,但我不知道如何更改仅一个特定facet的参数.
library(ggplot2)
df <- data.frame(label = c("A", "B", "Total"), score = c(60, 70, 65))
ggplot(df, aes(x = "", y = score)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start=0) + scale_y_continuous(limits = c(0, 100)) +
facet_grid(. ~ label)
Run Code Online (Sandbox Code Playgroud)
我创建了一个多面图facet_wrap,并且我想更改所有面的 y 轴的中断。
这是我当前的情节:
ggplot( mtcars , aes(x=mpg, y=wt, color=as.factor(cyl) )) +
geom_point(size=3) +
facet_wrap(~cyl,scales = "free_y") +
theme(legend.position="none")
Run Code Online (Sandbox Code Playgroud)
这是我想要的 y 轴中断:
p = ggplot(data=mtcars, aes(x=mpg, y=wt)) +
geom_point(size=3) +
theme_classic()
ymax <- ceiling(max(mtcars$wt))
p + scale_y_continuous(breaks = c(0, ymax), expand = c(0, 0)) + expand_limits(y = ymax)
Run Code Online (Sandbox Code Playgroud)
我想要的一般解决方案是能够为每个构面单独指定任意轴限制。
通过将比例尺设置为免费可获得基本功能。例如:
ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + facet_wrap(~clarity, nrow = 4, ncol = 2, scales = "free")
这实际上是一个非常不错的功能,但实际上并不总是那么有用。通常,我们想要的是在同一轴上具有可比较的变量子组。作为玩具示例,请考虑上面的钻石盒。我们可能希望第一列中的所有构面都具有相同的轴限制,而第二列中的所有构面都具有相同的轴限制(但与第一列不同)。
是否有使用标准 ggplot使用来完成此任务的解决方案。