ggplot2用于灰度打印输出

Rea*_*onk 33 r ggplot2

ggplot2为屏幕/彩色打印生成精美的图形,但灰度背景和颜色在打印到灰度时会产生干扰.为了更好的可读性,我宁愿禁用灰色背景并使用产生不同灰度或不同填充笔划的颜色生成器来区分这些组.

San*_*att 40

**编辑**更新代码:geom_bar需要a stat.

theme_bw可能是你想要的.如果您正在绘制具有填充(例如条形)的geom,则该scale_fill_grey功能将使您可以控制灰色阴影.如果您正在绘制具有颜色(例如一条或多条线)的geom,则该scale_colour_grey函数将为您提供控件.据我所知,ggplot没有绘制图案填充.假设您正在绘制条形图,下面将在灰色背景上绘制彩色条形图.

library(ggplot2)

data <- read.table(text = 
"type Year  Value 
 A    2000  3
 B    2000  10
 C    2000  11
 A    2001  4
 B    2001  5
 C    2001  12", sep = "", header = TRUE)

(p = ggplot(data = data, aes(x = factor(Year), y = Value)) +       
  geom_bar(aes(fill = type), stat="identity", position = "dodge"))
Run Code Online (Sandbox Code Playgroud)

以下将彩色条纹更改为灰色阴影.请注意,其中一个条形图在后台丢失.

(p = p + scale_fill_grey(start = 0, end = .9))
Run Code Online (Sandbox Code Playgroud)

以下删除灰色背景.

(p = p + theme_bw())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

一个点有颜色,而不是填充.因此,要在点上使用灰色阴影,您需要这样的东西.

(p = ggplot(data = data, aes(x = factor(Year), y = Value)) +       
  geom_point(aes(colour = type), size = 5) +
  scale_colour_grey(start = 0, end = .9) +
  theme_bw())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述