R 如何在ggplot2中添加纹理以填充颜色
我目前正在使用R 如何在ggplot2中添加纹理以填充颜色,r,ggplot2,R,Ggplot2,我目前正在使用scale\u brewer()填充,它们的颜色看起来很漂亮(在屏幕上和通过彩色打印机),但在使用黑白打印机时,它们的灰色打印相对一致。我搜索了在线ggplot2文档,但没有看到任何关于添加纹理以填充颜色的内容。是否有官方的ggplot2方法来实现这一点,或者是否有人使用过黑客?所谓纹理,我指的是像对角线、反向对角线、点图案等,当以黑白打印时会区分填充颜色。目前不可能,因为网格(ggplot2用于实际绘制的图形系统)不支持纹理。对不起 ggplot可以使用colorbrewer调色
scale\u brewer()
填充,它们的颜色看起来很漂亮(在屏幕上和通过彩色打印机),但在使用黑白打印机时,它们的灰色打印相对一致。我搜索了在线ggplot2
文档,但没有看到任何关于添加纹理以填充颜色的内容。是否有官方的ggplot2
方法来实现这一点,或者是否有人使用过黑客?所谓纹理,我指的是像对角线、反向对角线、点图案等,当以黑白打印时会区分填充颜色。目前不可能,因为网格(ggplot2用于实际绘制的图形系统)不支持纹理。对不起 ggplot可以使用colorbrewer调色板。其中一些是“复印”友好的。这样的东西对你有用吗
ggplot(diamonds, aes(x=cut, y=price, group=cut))+
geom_boxplot(aes(fill=cut))+scale_fill_brewer(palette="OrRd")
在这种情况下,OrRd是colorbrewer网页上的调色板:
便于复印:这表明
一个给定的配色方案
白纸黑字
影印。发散方案可以
无法成功复印。
应注意亮度的差异
用顺序方案保存
嘿,伙计们,这里有一个小技巧,它以一种非常基本的方式解决了纹理问题: 编辑:我终于有时间给出一个简单的例子,说明这种黑客在ggplot2中至少可以使用3种基本模式。守则:
Example.Data<- data.frame(matrix(vector(), 0, 3, dimnames=list(c(), c("Value", "Variable", "Fill"))), stringsAsFactors=F)
Example.Data[1, ] <- c(45, 'Horizontal Pattern','Horizontal Pattern' )
Example.Data[2, ] <- c(65, 'Vertical Pattern','Vertical Pattern' )
Example.Data[3, ] <- c(89, 'Mesh Pattern','Mesh Pattern' )
HighlightDataVert<-Example.Data[2, ]
HighlightHorizontal<-Example.Data[1, ]
HighlightMesh<-Example.Data[3, ]
HighlightHorizontal$Value<-as.numeric(HighlightHorizontal$Value)
Example.Data$Value<-as.numeric(Example.Data$Value)
HighlightDataVert$Value<-as.numeric(HighlightDataVert$Value)
HighlightMesh$Value<-as.numeric(HighlightMesh$Value)
HighlightHorizontal$Value<-HighlightHorizontal$Value-5
HighlightHorizontal2<-HighlightHorizontal
HighlightHorizontal2$Value<-HighlightHorizontal$Value-5
HighlightHorizontal3<-HighlightHorizontal2
HighlightHorizontal3$Value<-HighlightHorizontal2$Value-5
HighlightHorizontal4<-HighlightHorizontal3
HighlightHorizontal4$Value<-HighlightHorizontal3$Value-5
HighlightHorizontal5<-HighlightHorizontal4
HighlightHorizontal5$Value<-HighlightHorizontal4$Value-5
HighlightHorizontal6<-HighlightHorizontal5
HighlightHorizontal6$Value<-HighlightHorizontal5$Value-5
HighlightHorizontal7<-HighlightHorizontal6
HighlightHorizontal7$Value<-HighlightHorizontal6$Value-5
HighlightHorizontal8<-HighlightHorizontal7
HighlightHorizontal8$Value<-HighlightHorizontal7$Value-5
HighlightMeshHoriz<-HighlightMesh
HighlightMeshHoriz$Value<-HighlightMeshHoriz$Value-5
HighlightMeshHoriz2<-HighlightMeshHoriz
HighlightMeshHoriz2$Value<-HighlightMeshHoriz2$Value-5
HighlightMeshHoriz3<-HighlightMeshHoriz2
HighlightMeshHoriz3$Value<-HighlightMeshHoriz3$Value-5
HighlightMeshHoriz4<-HighlightMeshHoriz3
HighlightMeshHoriz4$Value<-HighlightMeshHoriz4$Value-5
HighlightMeshHoriz5<-HighlightMeshHoriz4
HighlightMeshHoriz5$Value<-HighlightMeshHoriz5$Value-5
HighlightMeshHoriz6<-HighlightMeshHoriz5
HighlightMeshHoriz6$Value<-HighlightMeshHoriz6$Value-5
HighlightMeshHoriz7<-HighlightMeshHoriz6
HighlightMeshHoriz7$Value<-HighlightMeshHoriz7$Value-5
HighlightMeshHoriz8<-HighlightMeshHoriz7
HighlightMeshHoriz8$Value<-HighlightMeshHoriz8$Value-5
HighlightMeshHoriz9<-HighlightMeshHoriz8
HighlightMeshHoriz9$Value<-HighlightMeshHoriz9$Value-5
HighlightMeshHoriz10<-HighlightMeshHoriz9
HighlightMeshHoriz10$Value<-HighlightMeshHoriz10$Value-5
HighlightMeshHoriz11<-HighlightMeshHoriz10
HighlightMeshHoriz11$Value<-HighlightMeshHoriz11$Value-5
HighlightMeshHoriz12<-HighlightMeshHoriz11
HighlightMeshHoriz12$Value<-HighlightMeshHoriz12$Value-5
HighlightMeshHoriz13<-HighlightMeshHoriz12
HighlightMeshHoriz13$Value<-HighlightMeshHoriz13$Value-5
HighlightMeshHoriz14<-HighlightMeshHoriz13
HighlightMeshHoriz14$Value<-HighlightMeshHoriz14$Value-5
HighlightMeshHoriz15<-HighlightMeshHoriz14
HighlightMeshHoriz15$Value<-HighlightMeshHoriz15$Value-5
HighlightMeshHoriz16<-HighlightMeshHoriz15
HighlightMeshHoriz16$Value<-HighlightMeshHoriz16$Value-5
HighlightMeshHoriz17<-HighlightMeshHoriz16
HighlightMeshHoriz17$Value<-HighlightMeshHoriz17$Value-5
ggplot(Example.Data, aes(x=Variable, y=Value, fill=Fill)) + theme_bw() + #facet_wrap(~Product, nrow=1)+ #Ensure theme_bw are there to create borders
theme(legend.position = "none")+
scale_fill_grey(start=.4)+
#scale_y_continuous(limits = c(0, 100), breaks = (seq(0,100,by = 10)))+
geom_bar(position=position_dodge(.9), stat="identity", colour="black", legend = FALSE)+
geom_bar(data=HighlightDataVert, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.80)+
geom_bar(data=HighlightDataVert, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.60)+
geom_bar(data=HighlightDataVert, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.40)+
geom_bar(data=HighlightDataVert, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.20)+
geom_bar(data=HighlightDataVert, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.0) +
geom_bar(data=HighlightHorizontal, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal2, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal3, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal4, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal5, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal6, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal7, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightHorizontal8, position=position_dodge(.9), stat="identity", colour="black", size=.5)+
geom_bar(data=HighlightMesh, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.80)+
geom_bar(data=HighlightMesh, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.60)+
geom_bar(data=HighlightMesh, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.40)+
geom_bar(data=HighlightMesh, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.20)+
geom_bar(data=HighlightMesh, position=position_dodge(.9), stat="identity", colour="black", size=.5, width=0.0)+
geom_bar(data=HighlightMeshHoriz, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz2, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz3, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz4, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz5, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz6, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz7, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz8, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz9, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz10, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz11, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz12, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz13, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz14, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz15, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz16, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=HighlightMeshHoriz17, position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")
然后我创建了一个新的数据框来保存对角线的坐标:
Diag <- data.frame(
x = c(1,1,1.45,1.45), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y = c(0,0,20,20),
x2 = c(1.2,1.2,1.45,1.45), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y2 = c(0,0,11.5,11.5),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x3 = c(1.38,1.38,1.45,1.45), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y3 = c(0,0,3.5,3.5),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x4 = c(.8,.8,1.26,1.26), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y4 = c(0,0,20,20),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x5 = c(.6,.6,1.07,1.07), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y5 = c(0,0,20,20),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x6 = c(.555,.555,.88,.88), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y6 = c(6,6,20,20),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x7 = c(.555,.555,.72,.72), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y7 = c(13,13,20,20),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
x8 = c(.8,.8,1.26,1.26), # 1st 2 values dictate starting point of line. 2nd 2 dictate width. Each whole = one background grid
y8 = c(0,0,20,20),# inner 2 values dictate height of horizontal line. Outer: vertical edge lines.
#Variable = "Diagonal Pattern",
Fill = "Diagonal Pattern"
)
其结果如下:
这是一个有点马虎,因为我没有投入太多的时间,使线完美的角度和间隔,但这应该作为一个概念证明
很明显,直线可以朝相反的方向倾斜,也有对角线啮合的空间,就像水平和垂直啮合一样
我想这就是我能提供的所有图案。希望有人能找到它的用途
编辑3:著名的遗言。我想出了另一个模式选择。这次使用geom\u抖动
我再次向数据框添加了另一个变量:
Example.Data[4,] <- c(20, 'Diagonal Pattern','Diagonal Pattern' )
Example.Data[5,] <- c(100, 'Bubble Pattern','Bubble Pattern' )
接下来,我创建了一列,其中包含与x轴上的目标条关联的编号:
Example.Data$Bubbles <- 2
每次运行绘图时,抖动都会对“气泡”进行不同的定位,但这里有一个更好的输出:
有时“泡沫”会在边界外抖动。如果发生这种情况,请重新运行或以更大的维度导出。更多的气泡可以绘制在y轴上的每个增量上,如果你愿意的话,会填充更多的空白空间。
这就构成了7种模式(如果你包括了斜对角线和斜网格的话),它们可以在ggplot中被破解
如果有人能考虑一些问题,请随时提出更多建议
编辑4:我一直在开发一个包装器函数,以便在ggplot2中自动填充图案。一旦我扩展了函数以允许在facet_网格图等中使用模式,我将发布一个链接。以下是一个简单条形图的函数输入输出示例:
我将添加一个最后的编辑,一旦我有了功能准备好共享
编辑5:我编写了一个函数egghtch,它使向几何图形添加图案的过程变得更简单
编辑6:我想我应该分享这个解决方案的一个简单变体,为阴影区添加一些颜色
使用与上面相同的df运行此代码:
bar_width = 0.8
xaxislabs <- c("Purple", "Blue", "Green")
ggplot(Example.Data, aes(x=Variable, y=Value, fill=Fill)) +
theme(legend.position = "none")+
geom_bar(position=position_dodge(.9), stat="identity", colour="black", legend = FALSE, width=bar_width, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#15a742", width=(bar_width/7)*3, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="#8b2fbb")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#8b2fbb", width=(bar_width/7)*3, fill="#8b2fbb")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#59a5db", width=bar_width, fill="#59a5db")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#59a5db", width=(bar_width/7)*3, fill="#59a5db")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
scale_x_discrete(labels= xaxislabs)
bar\u宽度=0.8
xaxislabs我认为这项工作很棒,但现在我突然在谷歌上搜索了一个特别的软件包--。没有看到内部代码,但vignette似乎很有用。创建一个虚拟数据帧,其轮廓对应于“纹理”,然后使用geom_轮廓可能会很有用。以下是我的例子:
library(ggplot2)
eg = expand.grid(R1 = seq(0,1,by=0.01), R2 = seq(0,1,by=0.01))
eg$importance = (eg$R1+eg$R2)/2
ggplot(eg , aes(x = R1, y = R2)) +
geom_raster(aes(fill = importance), interpolate=TRUE) +
scale_fill_gradient2(low="white", high="gray20", limits=c(0,1)) +
theme_classic()+
geom_contour(bins=5,aes(z=importance), color="black", size=0.6)+
coord_fixed(ratio = 1, xlim=c(0,1),ylim=c(0,1))
结果如下:
(线条应平滑)您可以使用package by使用ggplot2
绘制纹理矩形和条形图
# Image/pattern randomly selected from README
path_image <- "http://www.hypergridbusiness.com/wp-content/uploads/2012/12/rocks2-256.jpg"
library(ggplot2)
# devtools::install_github("clauswilke/ggtextures")
ggplot(mtcars, aes(cyl, mpg)) +
ggtextures::geom_textured_bar(stat = "identity", image = path_image)
#从自述文件中随机选择的图像/模式
path_imageggrough
可能会引起人们的兴趣:我刚刚发现了一个名为ggpattern
()的包,它似乎是解决此问题的很好的解决方案,并与ggplot2工作流很好地集成。虽然使用纹理的解决方案可能适用于对角线,但它们不会生成矢量图形,因此不是最佳解决方案
下面是一个直接取自ggpattern的github存储库的示例:
install.packages("remotes")
remotes::install_github("coolbutuseless/ggpattern")
library(ggplot2)
library(ggpattern)
df <- data.frame(level = c("a", "b", "c", 'd'), outcome = c(2.3, 1.9, 3.2, 1))
ggplot(df) +
geom_col_pattern(
aes(level, outcome, pattern_fill = level),
pattern = 'stripe',
fill = 'white',
colour = 'black'
) +
theme_bw(18) +
theme(legend.position = 'none') +
labs(
title = "ggpattern::geom_pattern_col()",
subtitle = "pattern = 'stripe'"
) +
coord_fixed(ratio = 1/2)
install.packages(“remotes”)
remotes::install_github(“coolbutuntible/ggpattern”)
图书馆(GG2)
图书馆(GG模式)
df是否计划添加gridextra作为依赖项以获得此功能?有相关消息吗?这可能在不久的将来发生变化。看,在这个基础上再接再厉。干得好!然而,这个解决方案似乎只适用于条形图,或者说?@Giovanni Azua我只在条形图上试过是的。当我有时间时,我会尝试调整堆叠图等的链接功能。这并没有回答OP的问题。我来这里是因为我坚持使用某些颜色。此接受的“答案”不建议如何应用纹理。@msbernds它不回答您的问题。可以肯定的是,绿色的复选标记表示它已经回答了这个问题!不要被复选标记愚弄。问题是如何应用纹理-这还没有回答。提供了一个开箱即用的想法,是的,但不是问题的答案。感谢您将答案移动到@PoGibas。我打赌它会在这里得到更多(当之无愧)的关注!欢迎在这里查看可下载的模式:现在我只需要了解如何在R中更改它们的透明度。。哈希也是。
bar_width = 0.8
xaxislabs <- c("Purple", "Blue", "Green")
ggplot(Example.Data, aes(x=Variable, y=Value, fill=Fill)) +
theme(legend.position = "none")+
geom_bar(position=position_dodge(.9), stat="identity", colour="black", legend = FALSE, width=bar_width, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#15a742", width=(bar_width/7)*3, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="#8b2fbb")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#8b2fbb", width=(bar_width/7)*3, fill="#8b2fbb")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#59a5db", width=bar_width, fill="#59a5db")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#59a5db", width=(bar_width/7)*3, fill="#59a5db")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
scale_x_discrete(labels= xaxislabs)
bar_width = 0.8
xaxislabs <- c("Purple", "Blue", "Green")
ggplot(Example.Data, aes(x=Variable, y=Value, fill=Fill)) +
theme(legend.position = "none")+
geom_bar(position=position_dodge(.9), stat="identity", colour="black", legend = FALSE, width=bar_width, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7)*5, fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#15a742", width=(bar_width/7)*3, fill="#15a742")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="#FFFFFF", width=(bar_width/7), fill="#FFFFFF")+
geom_bar(data=Example.Data[2, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="transparent")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="#8b2fbb", size=.5, fill = "#8b2fbb")+
geom_bar(data=HighlightHorizontal, position=position_dodge(.9), stat="identity", colour="#FFFFFF", size=.5, fill = "#FFFFFF")+
geom_bar(data=HighlightHorizontal2, position=position_dodge(.9), stat="identity", colour="#8b2fbb", size=.5, fill="#8b2fbb")+
geom_bar(data=HighlightHorizontal3, position=position_dodge(.9), stat="identity", colour="#FFFFFF", size=.5, fill = "#FFFFFF")+
geom_bar(data=HighlightHorizontal4, position=position_dodge(.9), stat="identity", colour="#8b2fbb", size=.5, fill="#8b2fbb")+
geom_bar(data=HighlightHorizontal5, position=position_dodge(.9), stat="identity", colour="#FFFFFF", size=.5, fill = "#FFFFFF")+
geom_bar(data=HighlightHorizontal6, position=position_dodge(.9), stat="identity", colour="#8b2fbb", size=.5, fill="#8b2fbb")+
geom_bar(data=HighlightHorizontal7, position=position_dodge(.9), stat="identity", colour="#FFFFFF", size=.5, fill = "#FFFFFF")+
geom_bar(data=HighlightHorizontal8, position=position_dodge(.9), stat="identity", colour="#8b2fbb", size=.5, fill="#8b2fbb")+
geom_bar(data=Example.Data[1, ], position=position_dodge(.9), stat="identity", colour="black", size=.5, fill = "transparent")+
geom_bar(data=Example.Data[3, ], position=position_dodge(.9), stat="identity", colour="black", width=bar_width, fill="#59a5db")+
scale_x_discrete(labels= xaxislabs)
library(ggplot2)
eg = expand.grid(R1 = seq(0,1,by=0.01), R2 = seq(0,1,by=0.01))
eg$importance = (eg$R1+eg$R2)/2
ggplot(eg , aes(x = R1, y = R2)) +
geom_raster(aes(fill = importance), interpolate=TRUE) +
scale_fill_gradient2(low="white", high="gray20", limits=c(0,1)) +
theme_classic()+
geom_contour(bins=5,aes(z=importance), color="black", size=0.6)+
coord_fixed(ratio = 1, xlim=c(0,1),ylim=c(0,1))
# Image/pattern randomly selected from README
path_image <- "http://www.hypergridbusiness.com/wp-content/uploads/2012/12/rocks2-256.jpg"
library(ggplot2)
# devtools::install_github("clauswilke/ggtextures")
ggplot(mtcars, aes(cyl, mpg)) +
ggtextures::geom_textured_bar(stat = "identity", image = path_image)
data_raw <- data.frame(x = round(rbinom(1000, 50, 0.1)))
ggplot(data_raw, aes(x)) +
geom_textured_bar(
aes(y = ..prop..), image = path_image
) +
geom_density()
install.packages("remotes")
remotes::install_github("coolbutuseless/ggpattern")
library(ggplot2)
library(ggpattern)
df <- data.frame(level = c("a", "b", "c", 'd'), outcome = c(2.3, 1.9, 3.2, 1))
ggplot(df) +
geom_col_pattern(
aes(level, outcome, pattern_fill = level),
pattern = 'stripe',
fill = 'white',
colour = 'black'
) +
theme_bw(18) +
theme(legend.position = 'none') +
labs(
title = "ggpattern::geom_pattern_col()",
subtitle = "pattern = 'stripe'"
) +
coord_fixed(ratio = 1/2)