📅  最后修改于: 2023-12-03 15:34:47.304000             🧑  作者: Mango
R是一种流行的开源编程语言,用于数据处理,统计分析和数据可视化。在R中,我们可以使用各种图表库来创建各种精美的可视化效果。本文将介绍几个常用的图表库和绘图技巧来帮助程序员在数据可视化上更有创意。
ggplot2是一个基于图层的绘图系统,可用于创建各种类型的图表,特别是用于较大和复杂的数据集。它严格遵循“分层绘图系统”即图层建立,让你可以构建各种复杂图形的基本单位,如点、标签、线、矩形,甚至多面体。然后可以在基本单位上叠加层次,添加颜色、大小、形状来突出现象的特点。
我们以一个经典的数据集为例,用ggplot2绘制出散点图。
library(ggplot2)
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point()
这里我们使用了ggplot()
函数,传入数据(mpg)和变量映射,即x、y轴的数据。接下来我们调用geom_point()
函数,即用散点来呈现数据关系。 '+'符号是用于添加图层的。
直方图常用于展示数据集的分布情况,柱状图则是像条形图中的垂直排列的矩形。我们可以看一看下面的代码片段,了解如何以ggplot2绘制直方图。
ggplot(mpg, aes(x = hwy)) +
geom_histogram(binwidth = 2, fill = "steelblue", color = "white") +
labs(title = "Histogram of Highway Miles Per Gallon",
x = "Highway miles per gallon",
y = "Frequency") +
theme_minimal()
结果:
这里我们使用了geom_histogram()
函数,通过分配bin来分组数据并构建直方图。title
, x
, y
用于标注图表信息,通常用labs()
函数添加。theme_minimal()
函数是个好的选择,让你的图表更直观、更简洁。
图例和标签是可视化中非常重要的元素,它们帮助我们更好地理解数据。在ggplot2中,我们可以使用以下函数来添加标签和图例。
xlab()
、ylab()
用于给x、y轴添加标签。 labs()
用于添加主要标签。 scale_color_manual()
用于手动调节颜色图例。 scale_fill_manual()
用于手动调节填充图例。 ggplot(mpg, aes(x = displ, y = hwy, color = class)) +
geom_point(alpha = 0.6, size = 2) +
scale_color_manual(values = c("red", "blue", "green", "yellow", "brown")) +
labs(title = "Fuel Efficiency by Class of Vehicle",
x = "Displacement",
y = "Highway Miles per Gallon",
color = "Vehicle Class") +
theme_minimal()
结果:
在上面的代码片段中,我们通过color = class
参数将类别作为颜色通道,再用scale_color_manual()
函数手动调整图例颜色。
ggmap是一个用于绘制地图的ggplot2扩展包。它允许我们使用Google Maps、Stamen Maps以及OpenStreetMaps等现代地图库。接下来,我们能简单地学习如何以ggmap在R中制作地图。
library(maps)
library(ggmap)
p <- ggmap(get_map(location = "Chengdu", source = "google", zoom = 13)) +
geom_point(data = theaters, aes(x = lon, y = lat), size = 5, alpha = .9, color = '#cc6633') +
geom_text(data = theaters, aes(x = lon, y = lat, label = name), hjust = 3, size = 3) +
labs(title = "Movie Theaters in Chengdu")
print(p)
结果:
此代码片段使用ggmap和maps库来调用“Google”地图,并绘制成都的位置。然后我们用data()
函数添加点坐标,并且用geom_text()
函数添加标签。最后,我们设置图表标题为“成都电影院”。我们可以使用此技巧来制作各种类型的地图可视化。
在R中,ggplot2和ggmap是最常用的数据可视化库。ggplot2提供了一种强大的方法,可以创建各种类型的图表,并在各种数据集上工作。ggmap提供了一种简单的方法,可以在R中显示现代地图,并通过ggplot2进行自定义。对于准备在数据可视化方面拥有更深入的掌握的程序员,讲学这两种工具是必不可少的。