当我保存 ggplot 图像时,theme_minimal
黑白值在照片负片效果中反转。如果我不使用主题,则不会发生这种情况,使用 theme_bw 也不会发生这种情况。.pdf
保存到或 时也不会发生这种情况.png
。我已经测试过,在 RStudio、R GUI 或通过终端运行时会发生这种情况。我在 Mac OS 10.15.7 上运行 R 版本 4.0.2。
我将非常感谢任何对此进行调试的见解。在多次完整系统重新启动后,该行为已持续数周。
library(ggplot2)
ggplot(diamonds, aes(x = cut, y = clarity)) +
geom_point() +
theme_minimal()
ggsave("test_minimal.jpg")
Run Code Online (Sandbox Code Playgroud)
我有一个关于 ggsave() 函数的问题,我将非常感谢任何帮助和/或建议/解决方案。我正在创建四个图并将它们全部放在一个大图中,因为我想使用数据框中的所有列循环整个函数,所以我想将创建的图保存在指定的文件夹中(最好使用标识名称)。
\n plotting_fun3 <- function(Q){\n \n plot1 <- plot_likert(\n t(Q),\n title = "Total population",\n legend.labels = c("strongly disagree","disagree", "neither nor", "agree", "strongly agree"),\n grid.range = c(1.6, 1.1),\n expand.grid = FALSE,\n axis.labels = c(" "),\n values = "sum.outside",\n show.prc.sign = TRUE,\n catcount = 4,\n cat.neutral = 3,\n \n )\n \n plot2 <- plot_likert(\n t(Q[survey$animal=="Dogs"]),\n title = "Female",\n legend.labels = c("strongly disagree","disagree", "neither nor", "agree", "strongly agree"),\n grid.range = c(1.6, 1.1),\n expand.grid = FALSE,\n axis.labels = c(" "),\n values = …
Run Code Online (Sandbox Code Playgroud) 所以我使用生存曲线制作了 ggplot。
Wolcurves <- survfit(Surv(Days, Survival) ~ Wol, data = DCV_noPBS)
IFB_plot <- ggsurvplot(Wolcurves, data = DCV_noPBS,
line = c(2, 1),
pval = "p-value = 0",
xlab = "Time in days",
ylab = "Proportional survival",
break.time.by = 1,
break.y.by = 0.2,
legend.labs = c("w1118wMel-Tet", "w1118wMel"))
Run Code Online (Sandbox Code Playgroud)
我用下面的代码遇到了这个错误。
ggsave(filename = "results/IFB2.pdf", plot = IFB_plot,
width = 12, height = 10, dpi = 1000, units = "cm")
Run Code Online (Sandbox Code Playgroud)
Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "c('ggsurvplot', …
我知道这里已经存在一个非常类似的问题,但提供的答案对我不起作用。
这是我通常的工作流程:我生成一个绘图并在 RStudio 的“绘图”面板中调整绘图的大小,直到我满意为止。然后我打电话dev.size()
询问确切的尺寸。然后,我保存绘图并ggsave(...,dpi=300)
指定之前确定的宽度和高度。问题是,保存后,绘图看起来完全不同,尤其是文本大小。
如果我使用 RStudio 中的“导出”选项,绘图看起来与预览中的一模一样,但质量很差,而且手动执行此操作非常乏味。
我用来保存绘图的代码如下所示:
library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = wt)) +
geom_point() +
facet_grid(vs + am ~ gear, margins = "vs") +
theme_Publication()
ggsave("plot.png", width=4, height=3.2, dpi=300)
Run Code Online (Sandbox Code Playgroud)
我很想知道,是否有一个选项可以“以编程方式”保存一个能够精确地以高质量重新创建“绘图”预览的绘图。
预先非常感谢!
这是我准备的代码作为示例。一切都很好,直到我运行ggsave
. 该错误与$
运算符有关,这非常令人困惑。我见过很多人在不同的情况下有类似的错误消息。是我的错还是 R 内部错误?
library(tidyverse)
xx <- seq(0,2,0.01); yy <- seq(0,2,0.02); zz <- seq(0,2,0.04)
dat <- data.frame(
times = c(xx, yy, zz),
val = c(sin(xx), sin(yy)+rnorm(length(yy),sd=0.2), sin(zz)+rnorm(length(zz),sd=0.3)),
method = c(rep("A", length(xx)), rep("B", length(yy)), rep("C", length(zz)))
)
fig <- ggplot(dat) +
geom_line(aes(x = times, y = val, col = method, linetype = method)) +
theme_minimal() +
scale_color_manual(values = c("#29BDCE", "#ED8534", "#625559")) +
scale_linetype_manual(values=c("solid", "longdash", "dashed")) +
theme(legend.title = element_blank(),
legend.position = "none")
ggsave(fig, "D:/ResearchesAndProjects/2021_2_ODEadditive/code-ode-additive/examples/plots/test.png",
device = "png", …
Run Code Online (Sandbox Code Playgroud) 这是我面临的问题的一个最小示例:
data.frame(Time=as.factor(c(0,5,10,15,20,25,30,35)),
Value=c(0,2,4,6,8,6,5,6))%>%
ggplot(aes(x=Time,y=Value))+
geom_point()+
ylab("\U0394 O.D")
ggsave("image.pdf", dpi = 1200)
Run Code Online (Sandbox Code Playgroud)
我能够生成一个完美呈现三角洲的图。但是,将绘图保存为 PDF 的最后一个命令会发出警告。当您打开保存的文件时,y 轴标记为 ..OD。
我正在尝试使用ggsurvplot
来保存 a 。然而,输出 off始终只是. 我也尝试过这个和这个。没有一个在工作。risk.table
ggsave
ggsave
risk.table
library(data.table)
library(survival)
library(survminer)
OS <- c(c(1:100), seq(1, 75, length = 50), c(1:50))
dead <- rep(1, times = 200)
variable <- c(rep(0, times = 100), rep(1, times = 50), rep(2, times = 50))
dt <- data.table(OS = OS,
dead = dead,
variable = variable)
survfit <- survfit(Surv(OS, dead) ~ variable, data = dt)
ggsurvplot(survfit, data = dt,
risk.table = TRUE)
ggsave("test.png")
Run Code Online (Sandbox Code Playgroud)