一、选择合适的分辨率和输出格式
学术出版通常要求图像具备足够的分辨率(DPI,dots per inch)。标准的出版分辨率为300 DPI甚至更高,确保打印时不会出现模糊。可以使用
ggsave()
函数导出高分辨率图像。ggsave("plot.png", plot = last_plot(), width = 8, height = 6, dpi = 300)
width
和height
参数指定输出图像的尺寸(单位:英寸),dpi
参数控制分辨率。出版物中常用的图像格式包括PNG、PDF和EPS。
- PNG:适用于网络和屏幕展示,支持透明背景。
- PDF:矢量格式,适合需要高分辨率的打印,图像可在不失真的情况下放大。
- EPS:另一种常用于科学出版的矢量格式,特别是在使用LaTeX编排论文时。
ggsave("plot.pdf", plot = last_plot(), width = 8, height = 6)
二、精确调整图形比例与尺寸
# 保存为特定比例的图形
ggsave("plot_custom_size.png", width = 6, height = 4, dpi = 300)
如果需要特定比例的图形,比如4:3或16:9,需根据比例手动调整
width
和height
参数。此外,还可以通过调整aspect.ratio
控制图形中的比例:p <- ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
theme(aspect.ratio = 4 / 3)
三、使用自定义字体和主题提升美观性
在出版物中,字体不仅要美观,还需具有一致性。可以使用
extrafont
或showtext
包来加载自定义字体:library(extrafont)
loadfonts(device = "win") # 对Windows系统
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
theme(text = element_text(family = "Times New Roman"))
ggplot2
提供了多个内置的主题(如theme_minimal()
、theme_classic()
),帮助我们快速美化图表。为了出版,我们可以进一步自定义这些主题:p + theme_minimal() +
theme(
axis.title.x = element_text(size = 14, face = "bold"),
axis.title.y = element_text(size = 14, face = "bold"),
axis.text = element_text(size = 12),
legend.position = "top"
)
示例代码:生成出版级别的高质量图表
# 加载所需包
library(ggplot2)
library(extrafont)
# 导入字体
loadfonts(device = "win") # 如果在Windows上运行
font_family <- "Times New Roman"
# 创建基础图表
p <- ggplot(mtcars, aes(x = wt, y = mpg, color = factor(gear))) +
geom_point(size = 3) +
labs(
title = "Car Weight vs. Fuel Efficiency",
x = "Weight (1000 lbs)",
y = "Miles per Gallon (MPG)",
color = "Gear"
)
# 应用自定义主题
p <- p + theme_minimal() +
theme(
text = element_text(family = font_family), # 使用自定义字体
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12),
legend.position = "top"
)
# 保存图表为高分辨率的PNG文件
ggsave("car_plot.png", plot = p, width = 8, height = 6, dpi = 300)
p