我使用R绘制一个简单的线性回归.我想将该图像保存为PNG或JPEG,是否可以自动执行?(通过代码)
有两个不同的问题:首先,我已经在我的显示器上查看情节了,我想保存原样.其次,我还没有生成情节,但是当我执行绘图代码时,我想直接将它保存到磁盘.
我试图levelplot通过设置在一个窗口中放置多个点阵图,par(mfrow=c(2,1))但似乎忽略了这一点.
是否有用于设置多个图的特定功能lattice?
为函数绘制简单曲线有哪些替代方法
eq = function(x){x*x}
Run Code Online (Sandbox Code Playgroud)
在R?
这听起来是一个显而易见的问题,但我只能在stackoverflow上找到这些相关的问题,但它们都更具体
我希望我没有写一个重复的问题.
这有可能用ggplot2重现这个格子图吗?
library(latticeExtra)
data(mtcars)
x <- t(as.matrix(scale(mtcars)))
dd.row <- as.dendrogram(hclust(dist(x)))
row.ord <- order.dendrogram(dd.row)
dd.col <- as.dendrogram(hclust(dist(t(x))))
col.ord <- order.dendrogram(dd.col)
library(lattice)
levelplot(x[row.ord, col.ord],
aspect = "fill",
scales = list(x = list(rot = 90)),
colorkey = list(space = "left"),
legend =
list(right =
list(fun = dendrogramGrob,
args =
list(x = dd.col, ord = col.ord,
side = "right",
size = 10)),
top =
list(fun = dendrogramGrob,
args =
list(x = dd.row,
side = "top",
size = 10))))
Run Code Online (Sandbox Code Playgroud)

在R中创建热图已成为许多帖子,讨论和迭代的主题.我的主要问题是将格子levelplot()或基本图形中可用解决方案的视觉灵活性image()与基本heatmap(),pheatmap pheatmap()或gplots'的轻松聚类结合起来很棘手heatmap.2().这是我想要改变的一个小细节 - x轴上标签的对角线方向.让我告诉你我在代码中的观点.
#example data
d <- matrix(rnorm(25), 5, 5)
colnames(d) = paste("bip", 1:5, sep = "")
rownames(d) = paste("blob", 1:5, sep = "")
Run Code Online (Sandbox Code Playgroud)
您可以使用levelplot()以下方法轻松更改方向到对角
require(lattice)
levelplot(d, scale=list(x=list(rot=45)))
Run Code Online (Sandbox Code Playgroud)

但应用聚类似乎很痛苦.其他视觉选项也是如此,例如在热图单元格周围添加边框.
现在,转移到实际的heatmap()相关功能,聚类和所有基本视觉效果都非常简单 - 几乎不需要调整:
heatmap(d)
Run Code Online (Sandbox Code Playgroud)

所以在这里:
require(gplots)
heatmap.2(d, key=F)
Run Code Online (Sandbox Code Playgroud)

最后,我最喜欢的一个:
require(pheatmap)
pheatmap(d)
Run Code Online (Sandbox Code Playgroud)

但所有这些都无法旋转标签.手册pheatmap建议我可以使用grid.text自定义标签.真是太高兴 - 尤其是在聚类和更改显示标签的顺序时.除非我在这里遗漏了什么......
最后,还有一件旧货image().我可以旋转标签,一般来说它是最可定制的解决方案,但没有聚类选项.
image(1:nrow(d),1:ncol(d), d, axes=F, ylab="", xlab="")
text(1:ncol(d), 0, srt = 45, labels = rownames(d), xpd …Run Code Online (Sandbox Code Playgroud) R:使用Lattice与ggplot2有什么优缺点?
我使用以下命令生成带抖动的散点图:
ddf = data.frame(NUMS = rnorm(500), GRP = sample(LETTERS[1:5],500,replace=T))
library(lattice)
stripplot(NUMS~GRP,data=ddf, jitter.data=T)
Run Code Online (Sandbox Code Playgroud)
我想在这些点上添加箱图(每组一个).我尝试搜索,但我无法找到代码绘制所有点(而不仅仅是异常值)和抖动.我该怎么解决这个问题.谢谢你的帮助.
我一直在尝试两者ggplot2并lattice绘制数据面板.我在ggplot2模型周围缠绕时有点麻烦.特别是,如何在每个面板上绘制带有两组数据的散点图:
在lattice我能做到这一点:
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
Run Code Online (Sandbox Code Playgroud)
这将为每个列提供每个State_CD的面板
我可以做一个专栏ggplot2:
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2)
+ facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
Run Code Online (Sandbox Code Playgroud)
我不能理解的是如何将Actual_value添加到上面的ggplot中.
编辑哈德利指出,通过可重复的例子,这真的会更容易.这里的代码似乎有效.使用ggplot有更好或更简洁的方法吗?为什么添加另一组点到ggplot的语法与添加第一组数据有什么不同?
library(lattice)
library(ggplot2)
#make some example data
dd<-data.frame(matrix(rnorm(108),36,3),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(dd) <- c("Predicted_value", "Actual_value", "x_value", "State_CD")
#plot with lattice
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
#plot with ggplot
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2) + facet_wrap(~ …Run Code Online (Sandbox Code Playgroud) 我用三个面板创建了一个格子图.我可以控制轴的字体大小和刻度标签,但我还没弄清楚如何增加条带标签的字体大小.这是一个具体的例子:
# See below for the fake data to run this code
library(lattice)
barchart(choice ~ yes+no+not.app|group, data=data,
stack=TRUE, col=c("green","red","blue"),
xlim=c(0,100), layout=c(3,1),
scales=list(cex=c(1.4,1.4), alternating=3),
xlab=list(label="Percent of Respondents", fontsize=20),
main="")
Run Code Online (Sandbox Code Playgroud)
这是此代码生成的图表.请注意除了条带标签("组1","组2","组3")之外,所有字体都是好的和大的.我一直在寻找R-help和Stack Overflow,但是还没有能够解决这个问题.有谁知道神奇的咒语?

data = structure(list(choice = c("Choice 1", "Choice 1", "Choice 1",
"Choice 2", "Choice 2", "Choice 2", "Choice 3", "Choice 3", "Choice 3",
"Choice 4", "Choice 4", "Choice 4"), group = c("Group 1", "Group 2",
"Group 3", "Group 1", "Group 2", "Group 3", "Group 1", "Group 2",
"Group 3", "Group 1", …Run Code Online (Sandbox Code Playgroud)