我想在 ggplot2 中用 log10 刻度上的 x 轴和常规标签而不是具有最小小数位数的科学记数法来制作图表。这意味着我想将 0.1 显示为 0.1 而不是 0.10,将 100 显示为 100 而不是 100.00。
我试过
df = data.frame(x = c(1:10 %o% 10^(-3:2)), y = rnorm(60))
ggplot(df, aes(x=x, y=y))+
geom_point()+scale_x_log10(labels=comma)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这显示为许多小数。
@BenBolker 之前回答了一个类似的问题,他的代码适用于没有小数的数字,但如果数字小于 1,它似乎给出与标签=逗号相同的结果。
plain <- function(x,...) {
format(x, ..., scientific = FALSE, trim = TRUE)
}
ggplot(df, aes(x=x, y=y))+
geom_point()+scale_x_log10(labels=plain)
Run Code Online (Sandbox Code Playgroud) 如何以矢量格式导出 R 中的图像,并为文本标签和实际绘图提供单独的图层?
我之所以这么问是因为我正在准备一篇要发表的文章,而编辑要求我
提供最高质量的矢量格式 [我的] 图像版本(.ai、.eps、.psd)。
他们还表示
文本和标签应位于单独的图层中,以便在制作过程中进行编辑。
我在 ggplot2 中创建了我的图,并设法以矢量格式导出它们(svg,因为这种格式显示与 eps 半透明阴影不同)。使用 ggsave(“filename.svg”) 或在一种情况下,我使用 svg(“filename.svg”) 和 dev.off() 添加了附加文本(我在这里不使用 facets 的原因是在实际情节中我为各个面板添加了显着性水平)
library(ggplot2); library(cowplot); library(svglite)
data_set = structure(list(Target = c("Snodgrassella", "Snodgrassella", "ABPV",
"ABPV", "DWV", "DWV", "SBPV", "SBPV", "AmFV", "AmFV", "Gilliamella",
"Gilliamella"), Legend = structure(c(1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L), .Label = c("A", "B"), class = "factor"),
Estimate = c(69.6983166741774, 93.5474567104972, 12.5, 3.125,
0, 0, 6.25, 12.5, 0, 0, 90.625, 90.625), Nucleotide = structure(c(2L,
2L, …Run Code Online (Sandbox Code Playgroud) 我想在ggplot2中制作一个图形,将模型预测显示为一条线,将观察结果显示为点。该线应位于圆点上方。
不幸的是,我的代码没有正确绘制线。我该如何解决这个问题?我应该使用其他几何图形吗?
PS:模型预测不一定是直线。
数据
df = structure(list(time = c(100.067043929044, 100.067043929044, 100.067043929044,
100.067043929044, 101, 101.008924630473, 101.008924630473, 101.008924630473,
101.008924630473, 101.008924630473, 102, 103, 104, 105, 106,
107, 107.089057332598, 107.089057332598, 108, 108.20659267463,
108.20659267463, 108.20659267463, 108.20659267463, 108.20659267463,
108.20659267463, 108.20659267463, 108.703995034014, 108.703995034014,
108.703995034014, 108.703995034014, 108.703995034014, 109, 110,
110.114571494081, 110.114571494081, 110.114571494081, 110.114571494081,
110.114571494081, 110.343557977437, 110.343557977437, 110.343557977437,
110.343557977437, 110.343557977437, 111, 111.393980945717, 111.393980945717,
111.393980945717, 111.393980945717, 111.393980945717, 112, 112.00243681339,
112.00243681339, 112.00243681339, 112.00243681339, 113, 113.611902259838,
113.611902259838, 113.611902259838, 113.611902259838, 113.611902259838,
114, 114.979627464336, 114.979627464336, 114.979627464336, 114.979627464336,
115, 115.265297815627, 115.265297815627, 115.265297815627, 115.265297815627,
115.265297815627, 115.265297815627, …Run Code Online (Sandbox Code Playgroud)