使用 ggplot2 进行数据可视化
介绍
R 是一个出色的数据可视化开源平台。它能够创建任何类型的图表。但在创建任何类型的图表之前,您应该先了解要显示的内容,然后从中选择图表。假设您有一个数据集,显示公司在一段时间内的股票价值波动,那么我们希望使用一个图表来显示价值随时间变化的比较。根据数据集和表示数据的思路,图表可以分为四种类型:
- 比较图表
- 分布图
- 成分图
- 关系图
比较图表
这些类型的图表会比较不同类别或不同时间范围内的数据。对于不同类别之间的比较,您可以使用条形图或柱形图。对于需要随时间进行比较的数据点,您可以使用折线图或圆形面积图。
分布图
这些类型的图表将显示一个或多个变量的数据分布。对于一个变量的分布,您可以使用直方图或密度图。两个变量的分布可以用散点图绘制。
成分图
这些类型的图表显示随时间变化的成分或静态成分。要显示随时间变化的成分,您可以使用堆积柱形图或堆积面积图。静态成分可以通过饼图或瀑布图显示。
关系图
这些类型的图表用于显示两个或多个变量之间的关系。要显示两个变量之间的关系,可以使用散点图。如果要显示三个变量之间的关系,可以使用气泡图。
使用 ggplot2 绘制图表
在本节中,您将使用 R 中的 ggplot2 绘制不同类型的图表。以下是使用 ggplot2 的先决条件。您可以在此处获取有关此软件包的更多信息。
# Install ggplot2 in Rstudio
install.packages("ggplot2")
# Loading ggplot2
library(ggplot2)
创建比较图表
# Creating a dataframe
df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))
# Plotting a bar plot
ggplot(df, aes(trt, outcome)) +
geom_bar(stat = "identity")
# Creating dataframe for line plot
x <- seq(0.01, .99, length.out = 100)
df <- data.frame(
x = rep(x, 2),
y = c(qlogis(x), 2 * qlogis(x)),
group = rep(c("a","b"),
each = 100)
)
# Creating aline plot
ggplot(df, aes(x=x, y=y, group=group))+
geom_line()
创建分布图
# Using diamonds dataset fro creating a density plot
ggplot(diamonds, aes(carat)) +
geom_density()
在密度图中,没有定义箱体。当有大量数据点时,使用这种图。当数据点较少时,可以使用直方图。
# geom_point() is used to plot a scatter plot
ggplot(mtcars, aes(wt, mpg))+
geom_point()
散点图用于一次显示两个变量的分布。
创建成分图表
没有可用于创建饼图的 geom 函数。但是,可以使用coord_polar()函数将条形图转换为饼图。
# Creating a dataframe
df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))
# Plotting a pie plot
ggplot(df, aes(x ="", y = outcome, fill = trt)) +
geom_bar(width = 1,stat = "identity")+
coord_polar("y", start = 0)
创建关系图
气泡图是散点图的扩展。在散点图中,您可以显示两个变量之间的关系。在气泡图中,您可以一次显示三个变量之间的关系。
# Creating a Bubble chart
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(size=qsec)
结论
有大量图表可用,每个图表都具有特定的质量,用于显示数据中隐藏的某些因素。您不需要学习每张图表,但如果您想进行数据分析,其中一些图表非常重要。数据可视化是一个很大的话题,有许多为可视化目的而开发的软件包。如果您想更详细地了解,请访问此处。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~