相关疑难解决方法(0)

将自定义图像添加到geom_polygon会填写ggplot

学生问我是否可以使用R重新创建类似下面的图:

在此输入图像描述 这是从 这篇论文....

这种东西不是我的专长,但使用下面的代码我能够创建95%CI省略号并用它们绘制geom_polygon().我使用rphylopic包装从图像库中抓取的图像填充图像.

#example data/ellipses
set.seed(101)
n <- 1000
x1 <- rnorm(n, mean=2)
y1 <- 1.75 + 0.4*x1 + rnorm(n)
df <- data.frame(x=x1, y=y1, group="A")
x2 <- rnorm(n, mean=8)
y2 <- 0.7*x2 + 2 + rnorm(n)
df <- rbind(df, data.frame(x=x2, y=y2, group="B"))
x3 <- rnorm(n, mean=6)
y3 <- x3 - 5 - rnorm(n)
df <- rbind(df, data.frame(x=x3, y=y3, group="C"))


#calculating ellipses
library(ellipse)
df_ell <- data.frame()
for(g in levels(df$group)){
  df_ell <- rbind(df_ell, cbind(as.data.frame(with(df[df$group==g,], ellipse(cor(x, y), 
                                                                             scale=c(sd(x),sd(y)), …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

70
推荐指数
1
解决办法
2857
查看次数

使用ggplot2建议黑白配色方案

我正在使用ggplot2来生成许多这样的结构图:

在此输入图像描述

是否容易生产出黑白相间的东西?我确实读过这个问题,但它仍然产生了彩色填充.

r ggplot2

21
推荐指数
2
解决办法
3万
查看次数

如何使用网格图形系统将交叉影线应用于多边形?

R的基本图形系统中的几个函数,包括rect()polygon(),通过它们angle=density=参数支持交叉影线:

x = c(0, 0.5, 1, 0.5)
y = c(0.5, 1, 0.5, 0)
par(mar=c(0,0,0,0))
plot.new()
polygon(x, y, angle=45, density=10)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何将类似的交叉影线应用于由网格图形系统的grid.polygon()函数绘制的多边形:

library(grid)
grid.newpage()
grid.polygon(x,y)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我看了说明文档中?grid.polygon?gpar,并通过保罗具有Murrel的书在R图形有脱脂和迄今拿出空.我错过了一些明显的东西吗 如果没有,是否有一些简单的黑客可以使这成为可能?

graphics r r-grid

18
推荐指数
2
解决办法
3298
查看次数

使用R中的ezANOVA输出计划对比

我一直在研究使用计划对比而不是事后t检验.我通常使用ezANOVA(Type III ANOVA),但似乎ezANOVA目前没有提供进行计划对比的使用.

aov()另一方面是I型ANOVA(我不想讨论哪种类型最适合哪种类型的设计).使用aov()(在组设计之间)进行计划对比是直截了当的,但我希望在重复测量中进行III型方差分析并且坦率地ezANOVA具有更加用户友好的输出.

请记住ezANOVA,return_aov = TRUE是否有人知道如何使用提供的信息ezANOVA进行计划对比?

注意: return_aov = TRUE允许aov通过以下行中的某些内容访问输出:

summary.lm(ModelName$aov$'Participant:IndependentVariable1')
Run Code Online (Sandbox Code Playgroud)

以上参与者被添加到例如变量widezANOVA:

wid = .(Participant)
Run Code Online (Sandbox Code Playgroud)

summary.lm()通常在呈现计划对比的结果时使用aov,在组间ANOVA之间授予,而不是重复测量.

我特别感兴趣的是使用输出来进行重复测量ANOVA的计划对比.

BOUNTY GOALS

我希望从这个奖励中实现的目标:

1)使用输出ezANOVA以重复测量ANOVA进行计划对比.

1A)使用输出ezANOVA来对主题ANOVA进行计划对比(这个应该相对容易,因此不是要求赏金的必要条件.)

任何虚拟数据都应该足够了,但这里提醒ezANOVA重复测量ANOVA 的格式:

ModelName <- ezANOVA(
data = DataSet,
dv = .(DependentVariable), 
wid = .(Participant), 
within = .(IndependentVariable1, IndependentVariable2), 
type=3, 
detailed = TRUE, 
return_aov = TRUE)
Run Code Online (Sandbox Code Playgroud)

这是一个 …

r anova posthoc

13
推荐指数
1
解决办法
2036
查看次数

如何在 ggplot 的条形图中添加影线、条纹或其他图案或纹理?

假设我有一个带有序数变量和一个分类变量的数据:

set.seed(35)
df <- data.frame(Class = factor(rep(c(1,2),times = 80), labels = c("Math","Science")),
                 StudyTime = factor(sort(sample(1:4, 16, prob = c(0.25,0.3,0.3,0.15), replace = TRUE)),labels = c("<5","5-10","10-20",">20")),
                 Nerd = factor(sapply(rep(c(0.1,0.3,0.5,0.8),c(30,50,50,30)), function(x)sample(c("Nerd","NotNerd"),size = 1, prob = c(x,1-x))),levels = c("NotNerd","Nerd")))
Run Code Online (Sandbox Code Playgroud)

人们可以使用ggplotand geom_barwith x, filland alpha(or color) 美学映射来可视化这些变量之间的关系。

ggplot(data = df, aes(x = Class, fill = StudyTime, alpha = Nerd)) + 
  geom_bar(position = "dodge", color = "black") + 
  scale_alpha_manual(values = c(Nerd = 0.5, NotNerd = 1)) +
  scale_fill_manual(values = …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

13
推荐指数
1
解决办法
7154
查看次数

在gpplot2中用barplot填充酒吧的纺织品

test <- data.frame(a=c(1,2,3,4), b=c(4,4,4,4))
ggplot(test, aes(x=a, y=b, fill=factor(a)))+geom_bar(stat='identity')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但我也想在这个情节中添加texitiles,例如:
在此输入图像描述

非常感谢你

r textile bar-chart ggplot2

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

图案填充图表

由于ggplot2产生漂亮的彩色图形,但有时需要带有图案填充的黑白图形.我想知道如何做到这一点ggplot2,比如这段代码:

ggplot(diamonds, aes(cut, fill=cut)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)

编辑

R图表的图案填充是否有任何功能?

r ggplot2

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

ggplot2:使用R使一个条上的边框比其他条上的边框更暗

我在ggplot2中创建了一个条形图,其中3个条形代表了3个选项之一的概率.

我想在条形图上添加一个粗体边框,显示正确的响应.

我还没有办法做到这一点.我可以改变所有酒吧的颜色,但不仅仅是那个.

附加的图像显示了我生成的图形网格.在leftCust列中,我希望所有在其下方带有"left"的条形都有一个粗体边框.

在rightCust列中,我想将粗体边框添加到右下方的所有条形图中.

最后在SIMCust专栏中,我希望所有带有SIM卡的栏都有一个粗体边框.

这基本上是为了突出正确的响应,并使其更容易解释图表显示的内容.

在此输入图像描述

码:

    dataRarrangeExpD <- read.csv("EXP2D.csv", header =TRUE);



library(ggplot2)
library("matrixStats")
library("lattice")
library("gdata")
library(plyr)
library(doBy)
library(Epi)
library(reshape2)
library(graphics)


#Create DataFrame with only Left-to-Right Visual Presentation
DataRearrangeD <- dataRarrangeExpD[, c("correct","Circle1", "Beep1","correct_response", "response", "subject_nr")]
#data_exp1$target_coh > 0



# Add new columns to hold choices made
DataRearrangeD[c("RightChoice", "LeftChoice", "SimChoice")] <- 0

DataRearrangeD$RightChoice <- ifelse(DataRearrangeD$response == "l", 1, 0)
DataRearrangeD$LeftChoice <- ifelse(DataRearrangeD$response == "a", 1, 0)
DataRearrangeD$SimChoice <- ifelse(DataRearrangeD$response == "space", 1, 0)


Exp2D.data = DataRearrangeD

# Construct …
Run Code Online (Sandbox Code Playgroud)

r graph border colors ggplot2

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

向 geom_bar() / geom_col() 条添加图案或纹理?

有时,我需要为 geom_bar() / geom_col() 条(即黑白打印)使用某种图案或纹理。例如,某些人可能难以查看以下内容:

library(ggplot2)
library(dplyr, warn.conflicts=FALSE)
library(tidyr)

d <- iris %>% 
    group_by(Species) %>% 
    summarize_all(mean) %>% 
    gather(key, val, -Species)

ggplot(d, aes(x = Species, y = val, fill = key)) +
    geom_col(position = "dodge") +
    scale_fill_grey()
Run Code Online (Sandbox Code Playgroud)

示例条形图

Stack Overflow 上很好的问题和答案(也在这里)。然而,解决方案很复杂,基本上涉及手工创建图案或纹理。我想知道是否有人有一般的想法或建议或以不同方式解决这个问题的新方法。通常,当我认为我不能用 ggplot2 做某事时,这意味着改变我对解决它的看法 - 但其他(罕见)时间它只是还没有实现!

r ggplot2

7
推荐指数
1
解决办法
6756
查看次数

ggplot geom_tile颜色与纺织品

我想创建一个不仅可以填充颜色而且还可以填充纺织品的geom_tile,这可能吗?

基本上,我有这个图:

绿色的红色情节

但是,我需要它是黑色/白色,所以这就是我得到的: 黑白情节

但是在黑白模式下很难看出A组和B组之间的区别.因此,我认为如果它可以合作一些纺织品会更好.例如,对于值0.0到1.0,颜色从白色到黑色没有图案,对于-1.0到0.0,颜色是黑色到白色但是有它上面有某种图案/纺织品.

这有可能吗?

我从这个问题中受到启发:在gpplot2中使用纺织品填充barplot中的条形图 并想知道这是否可以应用于geom_tile()?

这就是我想要的,我用Paint画了这个.与纹理

用于生成这些图表的代码:

library(reshape2)
library(ggplot2)
dat = rbind.data.frame(c(0.1038,  0.1224,  0.0906,  0.1859, -0.0811, "Group.A"),
                       c(-0.1551, -0.1829, -0.1354, -0.2776,  0.1212, "Group.B"))
colnames(dat) = c("A", "B", "C", "D", "E", "Group")
m = melt(sub.all, id.vars = "Group")
#Red/green
ggplot(m, aes(variable, factor(Group))) + geom_tile(aes(fill = value), colour = "white") + 
  scale_fill_gradient2(low = "green",  high = "red", mid = "white", limits = c(-1,1)) + coord_flip() 
#Black/white
ggplot(m, aes(variable, factor(Group))) + geom_tile(aes(fill = value), colour = "white") + 
  scale_fill_gradient2(low = …
Run Code Online (Sandbox Code Playgroud)

r heatmap ggplot2

6
推荐指数
0
解决办法
442
查看次数

标签 统计

r ×10

ggplot2 ×8

bar-chart ×2

anova ×1

border ×1

colors ×1

graph ×1

graphics ×1

heatmap ×1

posthoc ×1

r-grid ×1

textile ×1