想要学习R数据可视化,师妹带你见识ggplot2之标度(一)






想要学习R数据可视化,师妹带你见识ggplot2之标度(一)

小师妹  生信果  2023-08-03 19:00:28

点击蓝字 关注我们

小师妹在前面带大家初步认识了ggplot2这个神奇的R包,我们学习了其中的一些常用函数,也用其自带的数据集做了一些图片,如果还没有查看前面文章的小伙伴呢,小师妹建议先移步学习一下哦。


毫无疑问,对于ggplot2的学习还远远没有结束,所以小师妹今天继续带大家学习ggplot2的标度(scale)。标度用于将数据映射到图形的可视化属性,如颜色、大小、形状等。标度可以帮助我们将数据转换为适合可视化的形式,并提供了一些参数和选项来调整可视化效果。每个标度都有一个对应的函数,用于将数据空间的值(即函数的定义域)映射到图形属性空间(即函数的值域)。通过使用这些函数,就能够将我们的数据与图形属性连接起来。那么接下来小师妹就从标度函数开始讲起吧。

1

标度函数介绍

小师妹给大家整理了一些常用的标度函数,如下所示。

1.scale_x_continuous() / scale_y_continuous(): 连续型变量的标度函数,用于调整x轴或y轴的刻度和标签。

2.scale_x_discrete() / scale_y_discrete(): 离散型变量的标度函数,用于调整x轴或y轴的刻度和标签。

3.scale_color_continuous() / scale_color_discrete(): 颜色的标度函数,用于调整图形中元素的颜色。

4.scale_fill_continuous() / scale_fill_discrete(): 填充颜色的标度函数,用于调整图形中元素的填充颜色。

5.scale_size_continuous() / scale_size_discrete(): 大小的标度函数,用于调整图形中元素的大小。

6.scale_shape_continuous() / scale_shape_discrete(): 形状的标度函数,用于调整图形中元素的形状。

7.scale_linetype_continuous() / scale_linetype_discrete(): 线型的标度函数,用于调整图形中元素的线型。

8.scale_alpha_continuous() / scale_alpha_discrete(): 透明度的标度函数,用于调整图形中元素的透明度。

9.scale_date(): 日期的标度函数,用于调整日期变量的显示格式和刻度。

10.scale_manual(): 手动设置标度值的标度函数,可以自定义颜色、大小、形状等属性的取值。


如上呢是小师妹整理的一些常用的标度函数啦,其实标度函数大致可以分为以下四类:

(1)位置标度:用于坐标轴的控制。

(2)颜色标度:将数据变量映射到颜色。

(3)自定义标度(manual):手动自定义数据到图形属性的映射关系。

(4)非映射标度(identity):直接将变量值作为图形属性值使用,不做映射。例如,某些变量值本身代表的值颜色值(如 red、blue 等),不需要再进行转换了。


这些标度函数呢,有几个共有的参数,小师妹先给大家列举出来然后在举几个简单的例子:

(1)name:设置坐标轴和图例上的标签,可以是字符串或数学表达值。但我们一般会使用 labs()、xlab()或ylab()来设置。

(2)limits:限制定义域的范围,不在该范围的数据将会被删除。

(3)breaks:用于控制在坐标轴或图例上显示的值,即坐标轴的刻度,如果是连续型数据,则会对数据进行分箱。

(4)labels:用于设置断点处的标签,要设置 labels 必须同时设置 breaks。


小师妹还是用ggplot2自带的数据集来举例。

例一:

> ggplot(mtcars) ++ geom_bar(aes(mpg)) ++ scale_x_binned(name = expression(xiaoguo1))

例二:

> ggplot(mtcars) ++ geom_bar(aes(mpg)) ++ scale_x_binned() ++ labs(title = "xiao guo sheng xin", tag = "R", x = expression(xiaoguo2))

例三:

> ggplot(mtcars) ++ geom_bar(aes(mpg)) ++ scale_x_binned(name = expression(xiaoguo3), limits = c(10, 30), )

例四:

> ggplot(mtcars) ++ geom_bar(aes(mpg)) ++ scale_x_binned(name = expression(xiaoguo4), limits = c(10, 30),+ breaks = seq(10, 30, 4), labels = c("A", 'B', 'C', 'D', 'E', 'F'),)

2

设置图表信息

labs()函数用于设置图形的标题和轴标签,可以设置图表的一些信息,如标题(title)、子标题(subtitle),或使用 caption 来提供数据来源信息等。

labs(...,title = waiver(),subtitle = waiver(),caption = waiver(),tag = waiver())xlab(label)ylab(label)ggtitle(label, subtitle = waiver())

小师妹来举几个简单的例子,让大家感受一下。

> p <- ggplot(mtcars, aes(mpg, wt, colour = cyl))> p + geom_point()
> p2 <- p + labs(x = "xiao guo",colour = "Cydr")> p2 + geom_point()
> p3 <- p + labs(title = "xiao guo", subtitle = "sheng xin",caption = "(make great efforts)")> p3 + geom_point()

经过小师妹的细心介绍小伙伴们对标度函数是否有了初步的了解呢,小师妹接下来还会继续深入的讲解标度函数,小伙伴们要继续关注小师妹的文章哦,那今天小师妹的分享就到这里啦,再会啦。

END