小编Tar*_*rek的帖子

如何在ggplot2图中抑制垂直网格线?

我正在构建一个条形图,条形图足以作为水平(x)位置的指示,所以我想避免绘制多余的垂直网格线.

我理解如何在opts()中设置次要和主要网格线的样式,但我不能为我的生活弄清楚如何仅仅抑制垂直网格线.

library(ggplot2)

data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))

ggplot(data, aes(x, y)) +
  geom_bar(stat = 'identity') +
  opts(
    panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
    panel.grid.minor = theme_line(colour = NA),
    panel.background = theme_rect(colour = NA),
    axis.ticks = theme_segment(colour = NA)
  )
Run Code Online (Sandbox Code Playgroud)

在这一点上,看起来我将不得不压制所有的网格线,然后用geom_hline()将它们拉回来,这看起来很痛苦(同样,我也不能完全清楚如何找到勾号/主要网格线位置以提供给geom_hline().)

任何想法将不胜感激!

r ggplot2

68
推荐指数
4
解决办法
5万
查看次数

在迁移期间将表格从schema.rb中保留

作为我在运行测试时不重新加载巨大的持久表早期问题的后续内容,我需要在运行迁移时将此表保留在schema.rb之外.这个表直接从mysqldump加载,所以我不担心跟踪它.

那么,如何从schema.rb中保留一个特定的表?

ruby-on-rails

14
推荐指数
1
解决办法
1828
查看次数

如何在保留x轴标签的同时抑制ggplot2图中的垂直网格线?

这是这个问题的后续,我试图压制垂直网格线.

学习者提供的解决方案是添加scale_x_continuous(breaks = NA),但这也有抑制x轴标签的副作用.我很乐意手工写回标签,但我不清楚如何找出标签应该去的地方.

另一个选项是禁止所有网格线(使用opts(panel.grid.major = theme_blank())或其他一些)然后在主要水平网格线中绘制.同样,这里的问题是如何弄清楚要提供给geom_hline()的图中的断点.

所以,基本上,我的选择是:

  1. 抑制垂直网格线和x轴标签(使用scale_x_continuous(breaks = NA))并重新添加x轴标签.
  2. 抑制所有网格线(使用opts(panel.grid.major = theme_blank()))并使用geom_hline()添加主要水平网格线.

以下是两个选项:

library(ggplot2)

data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))

# suppressing vertical gridlines and x-axis labels
# need to re-draw x-axis labels
ggplot(data, aes(x, y)) +
  geom_bar(stat = 'identity') +
  scale_x_continuous(breaks = NA) +
  opts(
    panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
    panel.grid.minor = theme_blank(),
    panel.background = theme_blank(),
    axis.ticks = theme_blank()
  )

# suppressing all gridlines
# need to re-draw …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

11
推荐指数
1
解决办法
1万
查看次数

如何在[R]中确定命名空间导入顺序

我需要清理一个R实例,使其恢复到启动时的处女状态.到目前为止,我正在做的是:

在启动时,记录加载的包和名称空间

original_packages <- grep('^package:', search(), value = TRUE)
original_namespaces <- loadedNamespaces()
Run Code Online (Sandbox Code Playgroud)

当我需要刷新实例时,分离每个在启动时不存在的已加载包:

for (pkg in grep('^package:', search(), value = TRUE)) {
    if (! pkg %in% original_packages){
        detach(pkg, unload=TRUE, force=TRUE, character.only=TRUE)
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我装一个包和一帮导入的命名空间,如GGPLOT2的,这些空间中保持加载,我必须卸载它们进口的顺序,从高层次的下降.只是盲目地卸载它们不起作用,因为我得到"命名空间'x'由'y'导入,'z'因此无法卸载"错误.

这是可重复的例子:

original_packages <- grep('^package:', search(), value = TRUE)
original_namespaces <- loadedNamespaces()

library(ggplot2)
library(plyr)

loadedNamespaces()

for (pkg in grep('^package:', search(), value = TRUE)) {
    if (! pkg %in% original_packages){
        detach(pkg, unload=TRUE, force=TRUE, character.only=TRUE)
    }
}

for (ns in loadedNamespaces()) {
    if (! ns %in% original_namespaces){
        unloadNamespace(ns)
    } …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何在该应用程序中显示rails应用程序的git分支?

我在同一台服务器(在不同的数据库,obv)上的开发环境中运行了一个rails应用程序的几个不同分支,我想清楚地说明当我点击应用程序时显示的分支是什么通过网络.

任何想法,缺乏运行git-branchgit-symbolic-ref HEAD反引号和解析输出?

ruby git ruby-on-rails

4
推荐指数
1
解决办法
879
查看次数

标签 统计

ggplot2 ×3

r ×3

ruby-on-rails ×2

git ×1

ruby ×1