由于某种原因ggplot2
,即使可以获得的最小值为零,我所适合的函数也会延伸到y轴之外.因此,在尝试将下限限制为零时,我注意到似乎只能设置下限,以便省略数据点(或显然是预测点).这是真的?
例如,可以使用expand_limits
缩小,因为它是:
require(ggplot2)
p = ggplot(mtcars, aes(wt, mpg)) + geom_point()
p + expand_limits(y=0)
Run Code Online (Sandbox Code Playgroud)
但无法放大:
p + expand_limits(y=15)
Run Code Online (Sandbox Code Playgroud)
与美学相同:
p + aes(ymin=0)
p + aes(ymin=15)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用ylim
,coord_cartesian
等来设置这两个上限和下限,而在这种情况下,我路过一个列表,ggplot
使用lapply
基于被绘制在列表哪个对象上和上限的变化.所以我回到单独绘制每个对象,这非常乏味.有任何想法吗?
编辑:哈德利证实这是不可能的,所以@Arun的解决方法必须要做!
此代码生成一个很好的对图,在右中间有一个相关读数:
library(GGally)
ggpairs(esoph[,c(1,4,5)], colour='agegp')
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式获得相关正方形:
ggally_cor(data=esoph[,c(1,4,5)],
mapping=aes(x=ncases, y=ncontrols, colour='agegp'))
Run Code Online (Sandbox Code Playgroud)
方块包含每组的相关性.有没有办法让总体数据集的相关性出现?如果你不使用colour=...
那么你得到它,但是你没有获得每组相关性.
如何(如果有的话)在ggplot2中的轴刻度上显示两个替代单位?我想要实现的是这样的:
我试图用ggplot2绘制一个情节,在X轴上,我可以找到一些为变量组添加标签的方法.这是我的代码的最小版本:
Bzero <-100*matrix(runif(100),ncol=10,nrow=10)
B <-99
LNtype <-c(1,1,1,1,2,2,2,3,3,3)
LNnames <-c('grp1','grp2','grp3')
tB <-t(Bzero)/(B+1)
dfB <-data.frame(tB)
dfB$grp <-LNtype
dfB$vid <-1:nrow(tB)
mB0 <- melt(dfB,id.vars=c('grp','vid'))
mB0 <- mB0[order(mB0$grp,mB0$vid),]
gg0 <- ggplot(mB0,aes(x=vid,y=variable))
gg0 <- gg0 + geom_tile(aes(fill = value),colour = "white")
gg0 <- gg0 + scale_fill_gradient(low = "green", high = "red",na.value='white',limits=c(0,1),name='p0i')
gg0 <- gg0 + xlab('Equation')+ylab('Covariate')
Run Code Online (Sandbox Code Playgroud)
这是结果图:
这就是我想要的:
我一直在修补规模,休息和标签无济于事.即使是大量的谷歌搜索确实揭示了这种轴的任何情节.有什么方法可以得到我想要的东西吗?
我有以下简单数据.我希望将"V"对比D1,D2,D3值作为并排条形图和累积和,CS1,CS2,CS3作为线,并且在不同的Y尺度上.虽然如第一幅图所示绘制并排条形图相对容易,但我发现很难添加CS1-CS3色谱柱的线图.最终的情节看起来像第二个图 感谢您的帮助
V D1 D2 D3 CS1 CS2 CS3
10 2038 1806 1643 72.81171847 64.52304394 58.69953555
20 550 709 757 92.46159343 89.85351911 85.7449089
30 142 192 271 97.53483387 96.71311183 95.42693819
40 45 61 80 99.14255091 98.89246159 98.28510182
50 12 20 30 99.57127546 99.6070025 99.35691318
60 5 6 10 99.74991068 99.82136477 99.71418364
70 2 2 3 99.82136477 99.89281886 99.82136477
80 4 1 2 99.96427295 99.92854591 99.89281886
90 1 0 1 100.0000000 99.92854591 99.92854591
100 0 1 0 100.0000000 …
Run Code Online (Sandbox Code Playgroud) 我有以下问题。运行有序 logit 模型后,我想要 R 的效果包来可视化结果。这工作得很好,我对两个自变量这样做了,然后我尝试合并这两个图。然而,这似乎不起作用。我在这里提供了一个可复制的示例,以便您可以自己看到我的问题:
library(car)
data(Chile)
mod <- polr(vote ~ age + log(income), data=Chile)
eff <- effect("log(income)", mod)
plot1 <- plot(eff, style="stacked",rug=F, key.args=list(space="right"))
eff2 <- effect("age", mod)
plot2 <- plot(eff2, style="stacked",rug=F, key.args=list(space="right"))
Run Code Online (Sandbox Code Playgroud)
我现在可以独立打印这两个图,但是当我尝试将它们绘制在一起时,第一个图被覆盖。我尝试设置par(mfrow=c(2,1))
,但没有成功。接下来我尝试了以下操作:
print(plot1, position=c(0, .5, 1, 1), more=T)
print(plot2, position=c(0,0, 1, .5))
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,两个图的位置都很好,但是一旦我添加第二个图(或者更好,它被覆盖),第一个图仍然消失。任何如何防止这种行为的建议将不胜感激。