Как разместить несколько графиков на одном графике с помощью Ggvis в R

Опубликовано: 9 Января, 2023

В этой статье мы рассмотрим подход к размещению нескольких графиков на одном графике с помощью ggvis на языке программирования R.

Библиотека ggplot2 в R используется для графического представления предоставленных данных. Пакет можно скачать и установить в рабочее пространство с помощью следующей команды:

install.packages("ggplot2")

Фрейм данных изначально создается с использованием метода data.frame(). Точки данных создаются во фрейме данных. Фрейм данных затем подвергается операциям ggvis с использованием оператора канала. Метод ggvis используется для запуска графического окна ggvis. Метод ggvis имеет следующий синтаксис:

ggvis( data , mp1, mp2.,)

Arguments :

  • data – The dataset to plot
  • mp1, mp2,.. – The map variables to plot

Метод layer_paths() можно использовать для добавления слоя к существующему графику ggvis. Он используется для представления заданных точек в виде отрезка на графике.

R




# installing the required packages 
library("ggplot2")
library("ggvis")
  
# creating data frame1 
x_pos = 1:10
y_pos = x_pos^2
  
df1 = data.frame(x_pos,y_pos)
print("Data Frame1")
print(df1)
  
# plotting the ggvis plot1 
df1 %>% ggvis(~x_pos,~y_pos) %>% layer_paths()

Выход

[1] "Data Frame1"
  x_pos y_pos
1      1     1
2      2     4
3      3     9
4      4    16
5      5    25
6      6    36
7      7    49
8      8    64
9      9    81
10    10   100

Другой график строится с помощью метода ggvis() между точками x и log x.

R




# installing the required packages 
library("ggplot2")
library("ggvis")
  
# creating data frame1 
x_pos = 1:10
y_pos_2 = log(x_pos)
df2 = data.frame(x_pos,y_pos_2)
print("Data Frame2")
print(df2)
df2 %>% ggvis(~x_pos,~y_pos_2) %>% layer_paths()

Выход

[1] "Data Frame2"
  x_pos   y_pos_2
1      1 0.0000000
2      2 0.6931472
3      3 1.0986123
4      4 1.3862944
5      5 1.6094379
6      6 1.7917595
7      7 1.9459101
8      8 2.0794415
9      9 2.1972246
10    10 2.3025851

Метод layer_paths() можно использовать для добавления слоя к существующему графику. Его можно использовать для добавления сегментов линий к графику. В результате на один график можно добавить несколько сегментов линии.

layer_paths(x = , y = ), where x and y are x and y axes respectively   

Приведенный ниже фрагмент кода иллюстрирует следующую процедуру объединения графиков в R. Первоначально создается фрейм данных с тремя столбцами, первый из которых содержит последовательность элементов от 1 до 10. Второй представляет собой выражение с квадратом столбца 1 и столбец 3, содержащий журнал значений первого столбца. Затем применяется метод ggvis() для построения графика с использованием первых двух столбцов фрейма данных. Строка добавляется с помощью метода layer_paths(). Затем можно добавить еще один слой в виде сегмента линии, используя первый и третий столбцы фрейма данных. Оба сегмента линии могут быть добавлены к одному и тому же графику.

R




# installing the required packages 
library("ggplot2")
library("ggvis")
  
# creating data frame1 
x_pos = 1:10
y_pos = x_pos^2
y_pos_2 = log(x_pos)
  
# creating the data frame
df1 = data.frame(x_pos,y_pos, y_pos_2)
print("Data Frame1")
print(df1)
  
# plotting the data for two different axes
df1 %>% ggvis(~x_pos,~y_pos) %>% layer_paths()%>%
       layer_paths(x = ~x_pos, y = ~y_pos_2)

Выход

[1] "Data Frame1"
> print(df1)
  x_pos y_pos   y_pos_2
1      1     1 0.0000000
2      2     4 0.6931472
3      3     9 1.0986123
4      4    16 1.3862944
5      5    25 1.6094379
6      6    36 1.7917595
7      7    49 1.9459101
8      8    64 2.0794415
9      9    81 2.1972246
10    10   100 2.302585