ggplot_geom.md 2.4 KB

几何图形

几何图形的视觉属性

视觉属性在ggplot中也称为艺术属性,是人眼能够感知的几何图形的特征,包括大小、形状、颜色、填充等,其中颜色和填充色是所有几何图形都有的属性。

颜色(colour)和填充色(fill)

颜色和填充色可用名称来指定,ggplot内置657种有名称的颜色,可以直接用颜色名指定颜色。如"rea","green","blue"。这657种颜色名称可用colours()函数列出。 颜色也可用6位16进制数确定,即RGB值,如"#00ff00"代表绿色。如果使用透明度则使用RGBA格式如"#00ff00aa",最后的aa代表透明度。颜色值使用大小写都可以。

线型(line type)

线型适用于直线、线段、多边形元素。线型也可用名称和数字表示:
0 = blank, 1 = solid, 2 = dashed, 3 = dotted, 4 = dotdash, 5 = longdash, 6 = twodash

 lty <- c("solid", "dashed", "dotted", "dotdash", "longdash", "twodash")
linetypes <- data.frame(
  y = seq_along(lty),
  lty = lty
)
ggplot(linetypes, aes(0, y)) +
  geom_segment(aes(xend = 5, yend = y, linetype = lty)) +
  scale_linetype_identity() +
  geom_text(aes(label = lty), hjust = 0, nudge_y = 0.2) +
  scale_x_continuous(NULL, breaks = NULL) +
  scale_y_reverse(NULL, breaks = NULL)

和颜色一样,线型也可以点的有无来表示,线看作有限个点连接而成,在一定位置点是否存在的规律性排列就形成了不同的线型。就某个点而言,存在与否用开关表示,连续的存在的点用一个16进制数表示,紧接其后的空点也用一个16进制数表示,这样点和空点形成两个16进制数对,就好似一个两位的16进制数,如"33"代表3个实点和3个空点,"f1"代表15个实点后跟一个空点。这个数可以是2位也可以是4、6、8位,这样可以定制更加复杂的线型。

lty <- c("11", "18", "1f", "81", "88", "8f", "f1", "f8", "ff")
linetypes <- data.frame(
  y = seq_along(lty),
  lty = lty
)
ggplot(linetypes, aes(0, y)) +
  geom_segment(aes(xend = 5, yend = y, linetype = lty)) +
  scale_linetype_identity() +
  geom_text(aes(label = lty), hjust = 0, nudge_y = 0.2) +
  scale_x_continuous(NULL, breaks = NULL) +
  scale_y_reverse(NULL, breaks = NULL)

上面标准的5个线型对应的16进制数分别为:44, 13, 1343, 73, 2262.

ggplot图形元素

点(point)