ggplot2绘图系统——几何对象之散点图

以geom开头的函数超过30个。几何对象和标度函数scale密不可分。只有在aes中传入某个变量,scale才能发挥作用。

所谓标度scale,就是图形遥控器,用于控制元素属性。相对于color/shape等参数而言,可以进行更多、更精确的设置。

颜色标度设置

颜色梯度(gradient)标度(scale)函数。

#双色梯度函数
scale_color_gradient(...,high='#56B1F7',low='#132B43',...)
scale_fill_gradient #三色梯度函数
scale_color_gradient2(...,low=muted('red'),mid='white',high=muted('blue'),...)
scale_fill_gradient2 #自定义n色梯度函数,接受颜色向量
scale_color_gradientn(...,colors,...)
scale_color_gradientn #手动设置颜色标度函数(对已有设置颜色不满意时)
scale_color_mauual(..,values)
scale_fill_mauual

示例。

df <- data.frame(x=runif(100),y=runif(100),
z1=rnorm(100),z2=abs(rnorm(100))) #color后接连续型变量也可做到颜色梯度展示,但只是映射,没那么精细。
ggplot(df,aes(x,y))+geom_point(aes(color=z2)) ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
scale_color_gradient2() #默认的三色梯度

ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
scale_color_gradient(low='green',high = 'blue') ggplot(df,aes(x,y)) +geom_point(aes(color=z1))+
scale_color_gradientn(colors = RColorBrewer::brewer.pal(5,'Set3'))

ggplot(mtcars,aes(mpg,wt))+geom_point(aes(color=factor(cyl)))+
scale_color_manual(values = c("red","blue","green"))
#注意传入的颜色向量长度必须和颜色映射变量因子水平一致

点的形状标度

标度函数中形状函数。

scale_shape(...,solid=TRUE)
#默认实心点 #自定义点型
scale_shape_manual(...,values)

示例。

ggplot(dsmall,aes(carat,price))+geom_point(aes(shape=cut))+
scale_shape_manual(name='diamonds',values = c(1:5))
#注意此处1:5和基础绘图包中的点形状代号是一样的

点的大小标度

点的大小标度函数有:

scale_radus(name,breaks,labels,limits,range,trans,guide)

scale_size(name,breaks,labels,limits,range,trans,guide)

scale_size_area(...,max_size)

scale_size_manual

示例。

ggplot(mpg,aes(displ,hwy,size=hwy))+
geom_point()+
scale_size(name = 'hwy size',breaks = c(12,24,44),
labels = c('low','middle','high')) ggplot(mpg,aes(displ,hwy,size=hwy))+
geom_point()+
scale_radius() #将hwy大小传至圆点半径

df <- data.frame(x=c(0:10),y=c(20:30))
ggplot(df,aes(x=x,y=y,size=x))+
geom_point()+
scale_size_area()

最新文章

  1. PostgreSQL: 一种用于生成随机字符串的方法
  2. ECMAScript继承
  3. vim 设定一个新的snippets
  4. hh monitor
  5. Ceph BlueStore 解析:Object IO到磁盘的映射
  6. 结构型---装饰者模式(Decorator Pattern)
  7. Linux+DDoS deflate 预防DDoS攻击
  8. [C#]使用Windows Form开发的百度网盘搜索工具
  9. java 调用静态方法和构造函数和静态块执行的先后顺序
  10. struts1和struts2比较
  11. Alpha 冲刺(10/10)
  12. HashMap实现原理及常见问题
  13. 2.重学javascript 对象和数组
  14. 中文 bootstrapValidator
  15. jQuery获取元素对象本身的html
  16. 利用PMKID破解PSK的实际测试与影响评估
  17. Chromium之工程依赖关系.
  18. Java学习笔记(6)
  19. BZOJ 3357 [Usaco2004]等差数列:map优化dp
  20. Java AWT组件开发和Swing界面编程

热门文章

  1. 基于websocket实现的一个简单的聊天室
  2. 「笔记」$Min\_25$筛
  3. USB_ID OTG
  4. numpy读取本地数据和索引
  5. STM32程序异常——中断处理要谨慎
  6. poj 2060 Taxi Cab Scheme(DAG图的最小路径覆盖)
  7. H3C 三层交换基于IP限速
  8. SkyWalking部署及.Net Core简单使用
  9. javac 不是内部或外部命令 和 错误 找不到或无法加载主类 的解决方法
  10. MySQL 查询语句(1)