R语言 如何在ggvis中制作多条平滑线
在这篇文章中,我们将看到如何使用R编程语言在ggvis中制作多条平滑线。
在ggvis中制作多条平滑线
R语言中的ggvis包用于数据可视化。它也被用来创建交互式网络图形。它也被用来创建交互式图形和图表。它是ggplot包的一个补充。它提供了在工作空间建立HTML图形的框架。该软件包可以通过以下命令下载并安装到工作空间中。
install.packages("ggvis")
一个数据框架可以用data.frame方法创建,该方法将一些列和存储在其中的值作为输入。这个数据可以通过ggvis方法来实现可视化,该方法可以计算出数据框架中包含的y轴和x轴数据的可视化表示。ggvis方法的语法如下。
语法: ggvis(~y,~x,stroke)
参数
- ~y,~x- 数据框的y轴和x轴
- stroke–不同的颜色值,用于在ggvis中绘制不同的线条
接下来是使用管道操作符应用layer_lines()方法。线段被绘制出来,分别连接Y轴和X轴。这些点也可以被明显地标记出来,代表数据框架中包含的数据值。这个方法也被用来对x变量上的数据进行排序。所有的线都是从左到右的方向绘制的。
接下来是应用layer_points()方法,该方法用于在绘制的图形上标记数据点。这个方法的语法如下。
语法: layer_points(size,fill)
参数。
- size–要绘制的数据点的大小。
- fill–要绘制的数据点的颜色。
下面的代码显示了两组要绘制的人们的评分。用不同的颜色为GeeksForGeeks组和Geekster组画一条线。
# installing the required libraries
library(dplyr)
library(tidyverse)
library(dplyr)
library(ggvis)
# creating a data frame
data_frame = data.frame(group = c("Geekster","GeeksforGeeks",
"Geekster","Geekster",
"GeeksforGeeks",
"GeeksforGeeks","Geekster",
"GeeksforGeeks",
"Geekster","Geekster"),
people = c(10,12,21,45,23,54,
22,12,32,45),
rating = c(4,3,5,7,2,8,1,10,9,6))
# printing the data frame
print("Original Data frame")
print(data_frame)
# plotting the data
data_frame %>%
ggvis(~people, ~rating, stroke = ~group) %>%
layer_lines() %>%
layer_points(size = 1, fill = ~group)
输出
[1] "Original Data frame"
> print(data_frame)
group people rating
1 Geekster 10 4
2 GeeksforGeeks 12 3
3 Geekster 21 5
4 Geekster 45 7
5 GeeksforGeeks 23 2
6 GeeksforGeeks 54 8
7 Geekster 22 1
8 GeeksforGeeks 12 10
9 Geekster 32 9
10 Geekster 45 6
下面的代码片断显示了四个组,而不是两个组,用于绘图,从而使绘图包含四个不同颜色的线。
# installing the required libraries
library(dplyr)
library(tidyverse)
library(dplyr)
library(ggvis)
# creating a data frame
data_frame = data.frame(group = c("Geekster","TCS","Geekster","Geekster",
"GeeksforGeeks",
"Wipro","Geekster","GeeksforGeeks",
"Geekster","Wipro",
"TCS"),
people = c(10,12,21,45,23,54,22,12,32,45,65),
rating = c(4,3,5,7,2,8,1,10,9,6,5))
# printing the data frame
print("Original Data frame")
print(data_frame)
# plotting the data
data_frame %>%
ggvis(~people, ~rating, stroke = ~group) %>%
layer_lines() %>%
layer_points(size = 1, fill = ~group)
输出
[1] "Original Data frame"
> print(data_frame)
group people rating
1 Geekster 10 4
2 TCS 12 3
3 Geekster 21 5
4 Geekster 45 7
5 GeeksforGeeks 23 2
6 Wipro 54 8
7 Geekster 22 1
8 GeeksforGeeks 12 10
9 Geekster 32 9
10 Wipro 45 6
11 TCS 65 5