相关疑难解决方法(0)

如何制作一个很好的R可重复的例子

在与同事讨论性能,教学,发送错误报告或在邮件列表上搜索指导时,以及在Stack Overflow上,通常会询问可重复的示例并始终提供帮助.

您有什么建议创建优秀示例的提示?如何以文本格式粘贴中的数据结构?您还应该包含哪些其他信息?

在另外还有其他招数来使用dput(),dump()structure()?你什么时候应该包括library()require()声明?其中保留字应避免一个,此外c,df,data等?

怎样才能成为一位伟大的重复的例子?

r r-faq

2474
推荐指数
23
解决办法
28万
查看次数

ggplot2:基于背景对比度的文本颜色

我有以下情节:

m <- structure(list(Var1 = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 
3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L), .Label = c("FE", "AG", 
"NO", "SPH", "SEP", "H/I", "CMP"), class = "factor"), Var2 = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何根据条形的填充暗度控制标签颜色?

我有一个堆积的条形图,标有geom_text。为了增加标签的可见性,我想根据标签背景的“暗度”(即条形的填充色)将标签颜色设置为白色或黑色。因此,较深的条应带有白色标签,而较浅的条应带有黑色标签。

我从问题显示代码开始,该问题在ggplot2中的堆叠条形图上显示数据值,问题的答案R中是否有浅色或深色函数?。最重要的是,我想显示数据值的标签为“白色”或“黑色”,分别取决于堆叠的条形填充颜色是深色还是深色。

我做了两次尝试。第一个是函数的使用aes(colour=...)geom_text但是这个函数失败了……为什么?

第二次尝试是使用函数scale_colour_manual。但是在这里,堆叠的条形线也使用黑色或白色切换设置“着色”。

library(ggplot2)
library(RColorBrewer)

Year      <- c(rep(c("2006-07", "2007-08", "2008-09", "2009-10"), each = 4))
Category  <- c(rep(c("A", "B", "C", "D"), times = 4))
Frequency <- c(168, 259, 226, 340, 216, 431, 319, 368, 423, 645, 234, 685, 166, 467, 274, 251)
Data      <- data.frame(Year, Category, Frequency)

isDark <- function(color) {
  (sum(grDevices::col2rgb(color) *c(299, 587,114))/1000 < 123)
}

## control the color assignments
paletteName <- 'Set1' # …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
636
查看次数

设置颜色以清晰显示数字

在这个特定 viridis 选项的条形图中,是否可以设置颜色,即使对于刻度的较暗选项,也可以清晰地显示图表内的数字?

library(ggplot2)
Year      <- c(rep(c("2006-07", "2007-08", "2008-09", "2009-10"), each = 4))
Category  <- c(rep(c("A", "B", "C", "D"), times = 4))
Frequency <- c(168, 259, 226, 340, 216, 431, 319, 368, 423, 645, 234, 685, 166, 467, 274, 251)
Data      <- data.frame(Year, Category, Frequency)
ggplot(Data, aes(x = Year, y = Frequency, fill = Category, label = Frequency)) +
  geom_bar(stat = "identity") +
  geom_text(size = 3, position = position_stack(vjust = 0.5)) +  scale_fill_viridis_d(option  = "magma")
Run Code Online (Sandbox Code Playgroud)

r colors ggplot2 geom-bar

5
推荐指数
1
解决办法
831
查看次数

根据背景颜色将颜色映射到ggplot中的标签

如何改变ggplot中文本的颜色?例如,我有一个堆积条形图。当背景为浅蓝色或绿色时,我想将标签设置为黑色。

这是一个毫无意义的虚拟样本:

library(dplyr)
library(ggplot2)
df <- mpg %>% 
  mutate(cyl = as.character(cyl)) %>% 
  group_by(model, cyl) %>% 
  summarize(hwy = mean(hwy), .groups = "keep") %>% 
  ungroup() %>% 
  group_by(model) %>% 
  mutate(hwy = round(hwy / sum(hwy), 2)) %>% 
  ungroup() %>% 
  head(11) %>% 
  mutate(color = case_when(cyl == "4" ~ "white", 
                           cyl == "6" ~ "black", 
                           cyl == "8" ~ "black"))

df %>% 
  ggplot(data = ., aes(x = model, y = hwy, fill = cyl, label = hwy)) + 
  geom_bar(stat = "identity", position = "fill") + 
  geom_text(color …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 geom-text

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

标签 统计

r ×5

ggplot2 ×4

colors ×1

geom-bar ×1

geom-text ×1

r-faq ×1