在ggplot2中使用黑白配色方案进行绘图?
Posted
技术标签:
【中文标题】在ggplot2中使用黑白配色方案进行绘图?【英文标题】:Plot using black and white color scheme in ggplot2? 【发布时间】:2021-08-26 15:18:12 【问题描述】:由于大多数科学期刊不鼓励使用彩色图,我如何使用黑白配色方案区分这两种类型(Singleton/Geminate)?
生成当前图的代码是:
ggplot (df, aes(x = Place, y= C2, fill = Consonant)) +
geom_boxplot() + stat_summary(fun= "mean", position = position_dodge(width = 0.75)) +
labs (title = "Duration of word-medial (C2) consonant for Dogri singleton and
geminates",
x= "Place of articulation for C2", y = "C2 duration (ms)", fill = "Consonant
type")
这是我的数据的 sn-p:
Filename Speaker Consonant Place Manner Voicing Beforevowel Gender
C1 C1_xsampa C2
1 AK_chape.TextGrid 1 Singleton Bilabial Stop Voiceless Short
F 149.8670 tS 80.04261
2 AK_chappe.TextGrid 1 Geminate Bilabial Stop Voiceless Short
F 161.3066 tS 164.55435
3 AK_fati.TextGrid 1 Singleton Retroflex Stop Voiceless Short
F 115.9713 f 84.22198
4 AK_fatti.TextGrid 1 Geminate Retroflex Stop Voiceless Short
F 143.3766 f 152.16855
5 AK_katha.TextGrid 1 Singleton Dental (asp.) Stop Voiceless Short
F 130.1839 k 87.11895
6 AK_kute.TextGrid 1 Singleton Dental (unasp.) Stop Voiceless Short
F 118.7762 k 73.60776
7 AK_kutte.TextGrid 1 Geminate Dental (unasp.) Stop Voiceless Short
F 122.1802 k 197.17515
8 AK_saka.TextGrid 1 Singleton Velar Stop Voiceless Short
F 112.3296 s 82.99909
9 AK_sakka.TextGrid 1 Geminate Velar Stop Voiceless Short
F 142.4654 s 201.30976
10 DS_chape.TextGrid 2 Singleton Bilabial Stop Voiceless Short
M 245.7727 tS 84.37822
C2_xsampa V1 V1_xsampa V2 V2_xsampa
1 p 81.90506 @ 124.37444 e:
2 p: 74.69901 @ 115.83760 e:
3 t` 57.98567 @ 123.43885 i:
4 t`: 51.48200 @ 102.79831 i:
5 t_d_h 74.47716 @ 113.86432 A:
6 t_d 73.60776 U 134.66874 e:
7 t_d: 39.20708 U 137.45273 e:
8 k 54.76070 @ 114.91800 A:
9 k: 39.74577 @ 117.70400 A:
10 p 59.32322 @ 90.16259 e:
PS R 基本函数 boxplot () 输出黑白图,但我的数据表示的灵活性较低。
谢谢。
【问题讨论】:
【参考方案1】:尝试使用黑色/灰色作为颜色的 ggpattern 看看是否有效?
https://coolbutuseless.github.io/2020/04/01/introducing-ggpattern-pattern-fills-for-ggplot/
或者,如果期刊以单色打印,而您以高对比度的颜色发送给他们,它仍然会显示出打印差异。这就是许多经济学家对 stata 所做的事情。看起来很糟糕,但这不是世界末日。
【讨论】:
感谢您向我介绍我不知道的“ggpatern”包!【参考方案2】:您可以只使用 ggplot 中的 scale_colour_grey()
或 scale_fill_gray()
。
https://ggplot2.tidyverse.org/reference/scale_grey.html
另一种选择是使用scale_fill_manual(values = c('black', 'grey50'))
或任何其他符合您兴趣的颜色组合手动指定箱线图的填充颜色。
【讨论】:
感谢您的建议,@D.Martinez。手动指定 scale_fill 符合我的目的。只是想知道是否可以在框内引入一个模式来更清楚地区分这两个因素?请参阅 Andrew 对 'ggpattern package' 的评论。祝福!以上是关于在ggplot2中使用黑白配色方案进行绘图?的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用ggplot2包的快速可视化函数qplot绘制散点图(分类变量分组配色连续值程度配色)实战