R语言 如何使用ggvis创建水平叠加条形图
在这篇文章中,我们将学习如何在R编程语言中使用ggvis创建一个水平叠加条形图。
ggvis包
ggvis包是R语言中用于数据可视化的工具,它用于创建可视化的交互式图形工具,用于数据的绘制和表示。该包可以通过以下命令安装到工作空间中。
install.packages("ggvis")
ggvis软件包中的ggvis方法用于启动ggvis图形窗口。ggvis方法的语法如下。
语法:ggvis( data , mp1, mp2.,)
参数 :
- data – 要绘制的数据集
- mp1, mp2,… – 要绘制的地图变量
layer_rects()方法
layer_rects()方法用于指定高度、y或y2等两个参数中的任何一个,以及以下两个参数,宽度、x或x2。为了创建一个水平的堆叠条形图,我们使用x2=0,并指定相当于默认的 band() 方法的高度。
创建一个水平条形图
为了创建一个水平条形图,我们需要一个数据框,所以我们创建了一个数据框,在ggvis库的ggvis()方法的帮助下,用来创建一个水平条形图。
# Importing ggvis package
library("ggvis")
# Declaring a data frame
data_frame <- data.frame(col1 = c("a",
"b","c","d","e"),
col2 = c(1,2,3,4,5),
col3 = c("Green",
"Orange","Green","Green","Orange"))
# Printing the data frame
print("Data Frame")
print (data_frame)
# Plotting the data
data_frame %>%
ggvis(x =~col2, y=~col1, fill =~ col3) %>%
layer_rects(x2 = 0, height = band())
输出 。
[1] "Data Frame"
> print (data_frame)
col1 col2 col3
1 a 1 Green
2 b 2 Orange
3 c 3 Green
4 d 4 Green
5 e 5 Orange
解释:
col2的值被当作x坐标,数据框的col1的值被当作构建图的y坐标。然后根据ggvis()方法的填充参数所描述的col3值来分配颜色。
创建一个水平叠加条形图
创建水平条形图的过程与创建堆叠条形图的过程相同,我们有group_by()方法,该方法用于根据映射到各个组的值来创建分段。下面的代码片段显示了按col3值对数据进行分组,因此,创建了三个组。这导致了水平叠加条形图的出现。
# Import ggvis library
library("ggvis")
# Declaring a data frame
data_frame <- data.frame(col1 = c("a","b",
"a","e","a","b","a","e","a","b"),
col2 = c(1:10),
col3 = c(1,2,2,4,9,1,4,2,2,1))
# Printing the data frame
print("Data Frame")
print (data_frame)
# Plotting the data
data_frame %>%
ggvis(x =~col2, y=~col1, fill =~ col3) %>%
group_by(col3)%>%
layer_rects(x2 = 0, height = band())
输出 。
[1] "Data Frame"
> print (data_frame)
col1 col2 col3
1 a 1 1
2 b 2 2
3 a 3 2
4 e 4 4
5 a 5 9
6 b 6 1
7 a 7 4
8 e 8 2
9 a 9 2
10 b 10 1