- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个函数,其目标是以矢量化方式创建一系列图。这些函数部分地完成了我想要的,即根据所选变量更新更新绘图。但是,我无法传递标签参数(即 label_x 和 label_y),因此 xlab 和 ylab 会持续更新。
library(tidyverse)
plot_scatter_with_label <- function(df,
var_x,
var_y,
label_x,
label_y,
geom_smooth = FALSE,
point_shape = 16,
point_color = "#EB3300",
point_size = 1,
point_alpha = 1,
smooth_method = "loess",
smooth_se = FALSE,
smooth_color = "navy") {
df <- data.frame(lapply(df, function(x) as.numeric(as.character(x))))
scatter_plot <- function(x, y) {
p <- ggplot(df, aes_string(x = x, y = y)) +
geom_point(shape = point_shape, color = point_color, size = point_size, alpha = point_alpha) +
ylab(label_y) + xlab(label_x)
p
}
map2(
var_y, label_y,
~ map(var_x, scatter_plot, y = .x)
)
}
plot_scatter_with_label(
df = mtcars,
var_y = c("mpg", "hp"),
label_y = c("Miles per gallon [Mpg]", "Horse power [CV]"),
var_x = c("cyl", "gear"),
label_x = c("Cylinders [n]", "Gear [n]")
)
我期望获得以下图:
1) mpg 与 cyl
2) mpg 与档位
3) 马力与气缸
4) 马力与齿轮
看来我得到了这 4 个图,但标签没有按预期更新。它总是返回在 label_x 和 label_y 中定义的第一个参数。
如有任何帮助,我们将不胜感激。
最好的问候,
最佳答案
我们可以使用pmap
或pwalk
将数据传递给plot_scatter_with_label
函数
library(tidyverse)
plot_scatter_with_label <- function(dat,
var_x,
var_y,
label_x,
label_y,
geom_smooth = FALSE,
point_shape = 16,
point_color = "#EB3300",
point_size = 1,
point_alpha = 1,
smooth_method = "loess",
smooth_se = FALSE,
smooth_color = "navy") {
if (is.character(var_x)) {
print('character column names supplied, use rlang::sym()')
var_x <- rlang::sym(var_x)
} else {
print('bare column names supplied, use dplyr::enquo()')
var_x <- enquo(var_x)
}
if (is.character(var_y)) {
var_y <- rlang::sym(var_y)
} else {
var_y <- enquo(var_y)
}
p <- ggplot(dat, aes(x = !! var_x, y = !! var_y)) +
geom_point(shape = point_shape, color = point_color,
size = point_size, alpha = point_alpha) +
ylab(label_y) +
xlab(label_x) +
ggtitle(paste0(label_x, " ~ ", label_y))
print(p)
}
创建一个数据框,以便我们可以遍历每一行和每一列
var_y = c("mpg", "hp")
label_y = c("Miles per gallon [Mpg]", "Horse power [CV]")
var_x = c("cyl", "gear")
label_x = c("Cylinders [n]", "Gear [n]")
var_xy <- expand.grid(var_x, var_y, stringsAsFactors = FALSE)
label_xy <- expand.grid(label_x, label_y, stringsAsFactors = FALSE)
select_dat <- data.frame(var_xy, label_xy, stringsAsFactors = FALSE)
str(select_dat)
#> 'data.frame': 4 obs. of 4 variables:
#> $ Var1 : chr "cyl" "gear" "cyl" "gear"
#> $ Var2 : chr "mpg" "mpg" "hp" "hp"
#> $ Var1.1: chr "Cylinders [n]" "Gear [n]" "Cylinders [n]" "Gear [n]"
#> $ Var2.1: chr "Miles per gallon [Mpg]" "Miles per gallon [Mpg]" "Horse power [CV]" "Horse power [CV]"
将每一行传递给 plot_scatter_with_label
函数
pwalk(select_dat, ~ plot_scatter_with_label(mtcars, ..1, ..2, ..3, ..4))
#> [1] "character column names supplied, use rlang::sym()"
#> [1] "character column names supplied, use rlang::sym()"
#> [1] "character column names supplied, use rlang::sym()"
#> [1] "character column names supplied, use rlang::sym()"
由 reprex package 创建于 2019-02-14 (v0.2.1.9000)
关于r - 将标签传递给 ggplot2 中的 xlab 和 ylab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54664092/
在这个函数中,我想添加测试变量的列名。我不知道如何编码。欣赏指教! :) set.seed(8) score1 <- sample(1:100,6) score2 <- sample(1:100,6)
除了 xlab 之外,我还想包括刻度线在一个 3 x 3 的条形图面板中。我试过 this单个图形的解决方案,但不知何故我无法复制它。这个想法是用从 -3 到 +3 的 d 标记每个条形,并增加一个单
我的X轴标签太长,所以我使用了xlab(表达式(atop(paste("Hello world"^"TM ", ":Hi"),paste("hello Again"^"TM",": Hi")))) 将
我正在尝试学习如何使用 ggvis。基本上,我想重现这个 ggplot2 图表: library(ggplot2) m % ggvis(~wt, fill := "red") %>% layer_
使用 Xamarin 共享项目。 我尝试在我的共享项目中包含 Xlabs 示例中的地理定位功能,但在调用 dependencyService 时遇到问题。 我有一个内容页面,里面有我的按钮,上面有这样
我在项目中使用此控件,无法获取属性绑定(bind)。 我的xml代码: 我的 View 模型代码: private ObservableCollection _listaLugaresTrab
我创建了一个函数,其目标是以矢量化方式创建一系列图。这些函数部分地完成了我想要的,即根据所选变量更新更新绘图。但是,我无法传递标签参数(即 label_x 和 label_y),因此 xlab 和 y
我正在尝试使用此处详述的 XLabs 方法确定屏幕何时旋转(在 Android 中)How to handle screen rotation/orientation in Xamarin Forms
我刚刚在我的 Xamarin 应用程序项目中添加了一个 Windows Phone 8.1 项目,但现在我不知道如何在其中初始化 XLabs,因为它找不到 XFormsAppWP,所以我无法按照 XL
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我想更改以下内容的颜色和字体大小: Xlab, Ylab, X 轴和 Y 轴的值 面板边框(颜色) 在 R 图中 有没有办法做到这一点? 最佳答案 下面的代码演示了一些较低级别的绘图函数,这些函数提供
我正在将 hybridWebView 实现到我们的 xamarin 表单应用程序中。我遇到的问题是 hybridWebView 不显示来自 webView 中网站的警报消息。我刚刚得到一个简单的 ht
我是一名优秀的程序员,十分优秀!