- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一些期刊要求包含多张图表的图表在每个图表上标上字母。我正在尝试对 ggplot2
中的 facet_wrap
做同样的事情,因为我组织数据的方式是,所有解释变量的协变量都在一列中,而协变量的分组变量在另一列中。
我按照说明操作 here给出每个图的 x 轴标签不同的效果(当它真的是一个面板时)。
但我仍然需要为图中的每个绘图(列 figure.letters
)添加标签,最好在左上角。我试图将它添加到 facet_wrap
公式中,所以现在每个图都有两个条形面板。
require(ggplot2)
my.df <- data.frame(
param = rep(c('Distance (km)', 'Energy (j)', 'Girth (m)', 'Height (cm)', 'Incline (degrees)'), each = 20),
explanatory = rnorm(100, 0, 1),
response = rnorm(100, 0, 1),
figure.letter = rep(LETTERS[1:5], each = 20)
)
ggplot(my.df, aes(x = explanatory, y = response)) +
geom_point() +
facet_wrap(. ~ param + figure.letter, strip.position = 'bottom') +
theme_bw() +
theme(
strip.placement = 'bottom',
strip.background = element_blank()
)
有很多非常好的答案here ,但它们更适合将条形面板移动到顶部,然后将面板文本左对齐。所有。我希望将两个条形面板分开,以便数字字母面板位于顶部并左对齐,而 param
条形面板保留在底部。
我也希望避免为多个绘图编写代码,然后使用 patchwork
来获取图形标签。
有没有办法将 figure.letter
的条形面板移动到顶部,同时将 param
的条形面板保持在底部?
最佳答案
如果您在 coord_cartesian()
中关闭裁剪并对所有面使用相同的固定轴限制,则可以使用 geom_text()
将标签放置在绘图区域之外。
如果您对不同的面有不同的轴限制,那么拼凑路线可能是您唯一的选择。
require(ggplot2)
#> Loading required package: ggplot2
set.seed(1234)
my.df <- data.frame(
param = rep(c('Distance (km)', 'Energy (j)', 'Girth (m)', 'Height (cm)', 'Incline (degrees)'), each = 20),
explanatory = rnorm(100, 0, 1),
response = rnorm(100, 0, 1)
)
df.label <- data.frame(
param = unique(my.df$param),
x = -2.8,
y = 3.6,
figure.letter = LETTERS[1:5]
)
ggplot(my.df, aes(x = explanatory, y = response)) +
geom_point() +
geom_text(
data = df.label, aes(x = x, y = y, label = figure.letter),
hjust = 0, vjust = 0
) +
facet_wrap(. ~ param, strip.position = 'bottom') +
coord_cartesian(
xlim = c(-2.8, 2.8),
ylim = c(-3.3, 3.3),
expand = FALSE,
clip = "off"
) +
theme_bw() +
theme(
strip.placement = 'bottom',
strip.background = element_blank(),
plot.margin = margin(16.5, 5.5, 5.5, 5.5))
#> Warning: Suppressing axis rendering when strip.position = 'bottom' and
#> strip.placement == 'outside'
由 reprex package 创建于 2020-01-05 (v0.3.0)
关于r - 将条形面板放置在地 block 的相对两侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602174/
我设法检查一个整数是否是从右到左排序的,但我如何检查从左到右的顺序?也许我应该做 2 个功能,一个从左到右检查,另一个从右到左检查?例如,我将 return 0; 替换为第二个函数,该函数检查它是否从
我想在两侧“剪切”我的页面,如下所示: http://i.stack.imgur.com/ngZrp.jpg 演示:https://jsfiddle.net/r2g0eyxf/3/ #left {
我很难在页面的两边都获得背景: 风格 .left { background: url(wax.png); width: 15%; position: absolute; lef
我需要逐步证明:7 + O(n) = O(n) 当两边都有大O的时候,我不知道该怎么做。 我想我理解大 O 符号的概念,但为什么两边都有大 O? 最佳答案 这种表示法的使用不符合大 O 表示法的正式定
我的目标是使 slider 宽度为 1280 像素并位于页面中央。我希望内容的边缘在两侧都有隐藏的溢出。例如,我希望内容的中心始终位于页面的中心,随着浏览器的大小调整,每一边都被切断,并且没有出现水平
我在做什么:在悬停按钮时,我添加了一个 5px 的底部边框。 JS fiddle : http://jsfiddle.net/mUCNB/ 问题: 问题是边框底部在左侧和右侧都延伸了 1px。 问题:
我是一名优秀的程序员,十分优秀!