小编bee*_*guy的帖子

ggplot2 中的对数轴标签:仅显示必要的数字?

我想在 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)

plot r ggplot2

6
推荐指数
1
解决办法
1147
查看次数

以矢量格式从 R 导出图像,并为文本和绘图使用单独的图层?

如何以矢量格式导出 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)

plot svg r vector-graphics ggplot2

3
推荐指数
1
解决办法
1176
查看次数

ggplot2中的geom_line无法连接所有点。为什么?如何解决?

我想在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)

r data-visualization ggplot2

2
推荐指数
1
解决办法
1402
查看次数

标签 统计

ggplot2 ×3

r ×3

plot ×2

data-visualization ×1

svg ×1

vector-graphics ×1