我想在ggplot2中自定义诊断图。我试过这个:
library(ggfortify)
library(ggplot2)
model1 <- lm(len~dose*supp, data = ToothGrowth)
autoplot(model1, which = 1, label.size = 3, data = ToothGrowth, size=3, colour = "dose",
smooth.colour = 'darkblue', smooth.linetype="dotted", smooth.linesize=3)
我得到了这张照片:
我更改了线条颜色和线条类型以获得更平滑的线条,但我不知道如何更改线条宽度。我试过&#34; smooth.linesize&#34;,但它没有用。有可能以某种方式改变线宽?
有人能帮助我吗?谢谢。
答案 0 :(得分:1)
一个选项是在您的绘图中添加另一个图层,因为autoplot.lm
未提供所需的参数smooth.linesize
。第一部分生成您的情节p
。
p <- autoplot(model1, which = 1, label.size = 3, data = ToothGrowth, size=3, colour = "dose",
smooth.colour = 'darkblue', smooth.linetype="dotted")
现在可以在p
深处p@plots[[1]]$layers[[2]]$data
深处找到平滑线的所需数据:data
这可以在调用geom_*
时用作p + geom_line(data = p@plots[[1]]$layers[[2]]$data, aes(x = x, y = y), linetype = 3, col = "red", size = 3)
参数。以下代码生成下面的图表。
size
另一种选择是将尚未存在的美学参数p@plots[[1]]$layers[[2]]$aes_params$size <- 3
p
自己添加到绘图对象的相应图层中。我想这个选项更接近你想要实现的目标。
这可以通过
完成<body>
<div id ="error_frame" class="system hidden"> </div>
<div ng-controller="objectNavCtrl" id = "content">
<a ng-click="update()">link</a>
</div>
<div ng-controller="objectCtrl" >
<div id="object_container" ng-repeat="object in objects track by object.id">
<div>{{object.name}}</div>
</div>
</div>
</body>
我希望这会有所帮助。