这可能主要是因为我误解panel.margin = unit(...)了theme()函数中的工作原理......但是我无法按照我喜欢的方式自定义facet_wrap中的边距.基本上,我想要一个看起来像这样的facet_grid,strip.text每个facet中都有facet text(即)插入,并且每个facet之间没有spcaing:
(我在粉红色的边框中留下来显示每个方面的尺寸)
所以这是迄今为止的代码.
要设置数据和图:
library(ggplot2)
library(grid)
p <- ggplot() +
geom_bar(data = mtcars, aes(x = cyl, y = qsec), stat = 'identity') +
facet_wrap( ~ carb, ncol = 3)
mytheme <- theme_minimal() + theme(
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
panel.margin = unit(0, "lines"),
panel.border = element_rect(colour = rgb(1.0, 0, 0, 0.5), fill=NA, size=1)
)
Run Code Online (Sandbox Code Playgroud)
标准图
p + mytheme
Run Code Online (Sandbox Code Playgroud)
完全删除strip.text
p + mytheme + theme(strip.text …Run Code Online (Sandbox Code Playgroud) 我知道|| =运算符,但不要认为它会帮助我...尝试创建一个数组来计算对象数组中"类型"的数量.
array.each do |c|
newarray[c.type] = newarray[c.type] ? newarray[c.type]+1 ? 0
end
Run Code Online (Sandbox Code Playgroud)
有没有更优雅的方式来做到这一点?
我假设Raster包有我需要的东西......我只是想反转光栅图像中的颜色.
实际情况如下:我想反转ggmap调用返回的光栅图像:
library(ggmap)
ggmap(get_stamenmap(maptype = "toner"))
Run Code Online (Sandbox Code Playgroud)
我想反转颜色以获得Stamen Toner地图的黑白版本:
鉴于:
a = [1, 2, 3]
b = [4,5]
Run Code Online (Sandbox Code Playgroud)
如何获得:
[1, 2]
[4]
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我知道这有效:
a[:-1]
b[:-1]
Run Code Online (Sandbox Code Playgroud)
但是,当:
c = [1]
c[:-1]
Run Code Online (Sandbox Code Playgroud)
结果是一个空列表.