标度(scale),是将数据空间(标度的定义域)映射到图形属性空间(标度的值域)
的一个函数。
每一种图形属性都有一个默认的标度,当我们每一次使用这个图形属性时都会自动
添加到图形中。
图形属性
|
离散型
|
连续型
|
颜色(colour)和填充色(fill)
|
brewer、grey、
hue
、identity、manual
|
gradient
、gradient2、gradientn
|
位置(position)(x,y)
|
discrete
|
continuous
、date、datetime、log10、sqrt、reverse
|
形状(shape)
|
shape
、identity、manual
|
|
线条类型(line type)
|
linetype
、identity、manual
|
|
大小(size)
|
identity
、manual
|
size
|
各种标度,粗体是默认
用法
:以scale_开头,接下来是图形属性名称(例如,colour_、shape_或x_),最后以标度的名称结尾(例如,gradient、hue 或manual)。比如,离散性数据的颜色图形属性默认标度名为scale_colour_hue(),形状图形属性标度为scale_shape_shape()。使用?或者help()可以查看相关参数及具体用法。
-
scale_x_XXX、scale_y_XXX 是控制x、y 轴的标度,用于设置x、y 轴的显示标签、显示范围、刻度上的值等等。XXX 主要有continuous、data、datatime、discrete、log10、sqrt 等等。
-
对于图例的标度,如果图例是控制着颜色属性colour,那么使用scale_colour_XXX 可以设置这个图例的属性(比如标签、显示的值)。类似的还有scale_size_XXX、scale_fill_XXX、scale_shape_XXX 等等,具体用法以及参数请查看帮助文档。
1. 设置坐标轴与图例标签
设定坐标轴或者图例的标签:
通过运用xlab、ylab、labs 三个辅助函数,也可以设定坐标轴或者图例的标签。以下
三个代码绘制的图形是一样的:
p <- qplot(cty,hwy,data=mpg,colour=displ)
p + scale_x_continuous('City mpg') + scale_y_continuous('Highway mpg')
p + xlab('City mpg') + ylab('Highway mpg')
p + labs(x = ('City mpg'), y = ('Highway mpg'))
设置图例显示标签:
p + scale_colour_gradient('Displacement')
p + labs(colour = 'Displacement')
2. 参数limits
limits 可以用于固定标度定义域,即指定数据显示范围。连续型标度接受长度为2 的数值型向量;离散型接受一个字符型向量。limits 影响的是图形上显示的元素。
比如以下两个代码中,第一个代码控制x 轴,只显示(10,25)的数据(左图);第二个控制图例显示范围,只显示(2,5)的部分图例,而且图中在(2,5)之外的数据没有指定颜色(即灰色)。
p + scale_x_continuous(limits=c(10,25))
p + scale_colour_gradient(limits=c(2,5))
3. 参数breaks 和labels
breaks 控制着显示坐标轴或图例上的值,即坐标轴上应该显示哪些刻度线的值,或一个连续标度在一个图例中将被如何分段。breaks 影响显示坐标轴或图例上的元素。
labels 指定了应在断点处显示的标签。如果设置了labels,则必须同时指定breaks,只有这样两个参数才能正确匹配。
p + scale_x_continuous(breaks=c(10,20,30))
p + scale_colour_gradient(breaks=c(2, 3, 4, 5))
从以上两个图形中可以看出,使用breaks 参数改变的仅仅是坐标轴与图例中显示的值,图中元素并没有发生改变。而使用limits 参数会影响图中元素。
p + scale_x_continuous(breaks=c(10,20,30),labels=c('A','B','C'))
p + scale_colour_gradient(breaks=c(2,3,4,5,6),labels=c('A','B','C','D',"E"))
同样的,参数labels 与breaks 一样,改变的只是坐标轴或图例上的元素,而不会改变图形中的元素。
标度(scale),是将数据空间(标度的定义域)映射到图形属性空间(标度的值域) 的一个函数。 每一种图形属性都有一个默认的标度,当我们每一次使用这个图形属性时都会自动 添加到图形中。 图形属性 离散型 连续型 颜色(colour)和填充色(fill) brewer、grey、hue、identity、manual gradient、gradient2、gradientn
标尺是
ggplot2
作图必需的元素,在映射一节提到了它的概念并简单进行了设置。在数据分析阶段,为避免陷入数据无关的垃圾坑,我们只需要设置映射,
ggplot2
自动配置合适的标尺并产生坐标和图例。这是
ggplot2
适合数据可视化分析的原因之一。
在图形美化阶段,我们可以通过修改标尺改善图形外观。标尺设置一般不会对数据产生影响,但坐标轴标尺除外。
Table of Contents
1. 标尺
引言我们还可以对图形中的坐标轴进行处理,包括x、y轴对换、设定坐标轴范围、刻度线修改与去除等等。要想对图形玩得转,坐标轴处理精通不可或缺。坐标轴对换我们使用coord_flip()函数来对换坐标轴。library(
ggplot2
)
library(gcookbook)
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()
ggplo
我们上篇文章介绍的是
ggplot2
中的theme函数,主要用于调整图片主题,简单来说就是调整图中一些元素的大小,字体,颜色等等,图中展示的内容是不会改变的。
而今天介绍的
scale
函数则是用来调整图中的内容范围。引用王敏杰老师的话“
标度
(
scale
)是用于调整数据映射的图形属性。”
可能我这么说还是显得比较模糊,那就先举个例子:
p=ggplot(mtcars,aes(mpg,disp))+geom_point()
p+
scale
_x_continuous(“MPG”,breaks = c(15,25,35
连续型位置
标度
:用于将整数、数值、日期/时间数据映射到x轴或者y轴的位置上;
颜色
标度
:用于将连续型或离散型变量映射到颜色;
手动离散型
标度
:将离散型变量映射到你选择的大小、形状、颜色、线条等;
同一型
标度
:当你的数...
R语言
ggplot2
可视化:使用ggpubr包的ggscatter函数可视化散点图、使用
scale
_x_continuous函数的breaks参数指定X轴的断点的起始值、步长、使用limits参数指定
1、不同Data Set数据在同一图中展示
假设x 是包含419096_1006这个PID的各个效果指标数据,y是包含419253_1006的各个效果指标数据,如果让两个pid的同一个指标click画在同一个图中展示,如下:
+ geo