Поиск…


параметры

параметр подробности
x переменная оси x. Может поставлять либо data$variablex либо data[,x]
y переменная оси y. Может предоставлять data$variabley или data[,y]
main Основное название участка
sub Дополнительный субтитр графика
xlab Ярлык для оси x
ylab Обозначение для оси y
pch Целочисленный символ или символ, обозначающий символ построения
col Целое или строковое обозначение цвета
type Тип участка. "p" для точек, "l" для строк, "b" для обоих, "c" для одной только линии "b" , "o" как для «overplotted», "h" для «гистограммы» (например, или «высокая плотность») вертикальные линии, "s" для ступеней лестницы, "S" для других шагов, "n" для без заграждения

замечания

Элементы, перечисленные в разделе «Параметры», представляют собой небольшую часть hte возможных параметров, которые могут быть изменены или заданы с помощью par функции. См par для более полного списка. Кроме того, все графические устройства, включая системные интерактивные графические устройства, будут иметь набор параметров, которые могут настраивать вывод.

Основной участок

Основной сюжет создается вызовом plot() . Здесь мы используем встроенный кадр данных о cars который содержит скорость автомобилей и расстояния, снятые для остановки в 1920-х годах. (Чтобы узнать больше о наборе данных, используйте справку (автомобили)).

plot(x = cars$speed, y = cars$dist, pch = 1, col = 1, 
     main = "Distance vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance")

введите описание изображения здесь

Мы можем использовать многие другие варианты кода, чтобы получить тот же результат. Мы также можем изменить параметры для получения разных результатов.

with(cars, plot(dist~speed, pch = 2, col = 3, 
     main = "Distance to stop vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance"))

введите описание изображения здесь

Дополнительные возможности могут быть добавлены к этому графику, вызывая points() , text() , mtext() , lines() , grid() и т. Д.

plot(dist~speed, pch = "*", col = "magenta", data=cars,
     main = "Distance to stop vs Speed of Cars", 
     xlab = "Speed", ylab = "Distance")
mtext("In the 1920s.")
grid(,col="lightblue")

введите описание изображения здесь

Matplot

matplot полезен для быстрой matplot нескольких наборов наблюдений от одного и того же объекта, особенно из матрицы, на том же графике.

Вот пример матрицы, содержащей четыре набора случайных ничьих, каждая из которых имеет другое среднее значение.

xmat <- cbind(rnorm(100, -3), rnorm(100, -1), rnorm(100, 1), rnorm(100, 3))
head(xmat)
#          [,1]        [,2]       [,3]     [,4]
# [1,] -3.072793 -2.53111494  0.6168063 3.780465
# [2,] -3.702545 -1.42789347 -0.2197196 2.478416
# [3,] -2.890698 -1.88476126  1.9586467 5.268474
# [4,] -3.431133 -2.02626870  1.1153643 3.170689
# [5,] -4.532925  0.02164187  0.9783948 3.162121
# [6,] -2.169391 -1.42699116  0.3214854 4.480305

Один из способов построения всех этих наблюдений на одном и том же графике состоит в том, чтобы сделать один вызов plot за которым следуют еще три points или lines .

plot(xmat[,1], type = 'l')
lines(xmat[,2], col = 'red')
lines(xmat[,3], col = 'green')
lines(xmat[,4], col = 'blue')

Рисунок с использованием графика и линий

Однако это и утомительно, и вызывает проблемы, потому что, между прочим, по умолчанию пределы оси фиксируются plot чтобы соответствовать только первому столбцу.

Гораздо удобнее в этой ситуации использовать функцию matplot , которая требует только одного вызова и автоматически заботится о границах оси и изменяет эстетику для каждого столбца, чтобы сделать их различимыми.

matplot(xmat, type = 'l')

Рисунок с использованием matplot

Обратите внимание, что по умолчанию matplot варьируется как цвет ( col ), так и lty линии ( lty ), потому что это увеличивает количество возможных комбинаций до их повторения. Однако любая (или обе) из этих эстетик могут быть привязаны к одному значению ...

matplot(xmat, type = 'l', col = 'black')

Рисунок с использованием matplot со всеми черными линиями

... или пользовательский вектор (который будет перерабатываться в число столбцов, следуя стандартным правилам утилизации векторных векторов).

matplot(xmat, type = 'l', col = c('red', 'green', 'blue', 'orange'))

Рисунок с использованием matplot с индивидуальными линиями

Стандартные графические параметры, включая main , xlab , xmin , работают точно так же, как и для plot . Подробнее об этом см. ?par

Подобно plot , если задан только один объект, matplot предполагает, что он является переменной y и использует индексы для x . Однако x и y могут быть указаны явно.

matplot(x = seq(0, 10, length.out = 100), y = xmat, type='l')

Установка значения для оси x

Фактически, и x и y могут быть матрицами.

xes <- cbind(seq(0, 10, length.out = 100),
             seq(2.5, 12.5, length.out = 100),
             seq(5, 15, length.out = 100),
             seq(7.5, 17.5, length.out = 100))
matplot(x = xes, y = xmat, type = 'l')

Матричный вход для x и y

Гистограммы

Гистограммы позволяют использовать псевдо-график лежащего в основе распределения данных.

hist(ldeaths)

Гистограмма ldeaths с параметрами по умолчанию

hist(ldeaths, breaks = 20, freq = F, col = 3)

Historgram с плотностью, разрывами и цветными полосами.

Объединение сюжетов

Часто полезно комбинировать несколько типов графиков в одном графике (например, Barplot рядом с Scatterplot.) R делает это легко с помощью функций par() и layout() .

par()

par использует аргументы mfrow или mfcol для создания матрицы nrows и ncols c(nrows, ncols) которая будет служить сеткой для ваших графиков. В следующем примере показано, как объединить четыре графика в одном графике:

par(mfrow=c(2,2))
plot(cars, main="Speed vs. Distance")
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")

Четыре участка, объединенные на одном участке

layout()

layout() более гибкий и позволяет указать местоположение и размер каждого графика в конечном комбинированном графике. Эта функция ожидает матричный объект как вход:

layout(matrix(c(1,1,2,3), 2,2, byrow=T))
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")

Три сюжета, объединенные в один сюжет с использованием layout ().

Плотность

Очень полезным и логичным продолжением гистограмм было бы построение сглаженной функции плотности случайной величины. Основной сюжет, созданный командой

plot(density(rnorm(100)),main="Normal density",xlab="x")

будет выглядеть

Пример примера плотности rnorm

Вы можете наложить гистограмму и кривую плотности с помощью

x=rnorm(100)
hist(x,prob=TRUE,main="Normal density + histogram")
lines(density(x),lty="dotted",col="red")

который дает

Overlay rnorm

Эмпирическая функция кумулятивного распределения

Очень полезным и логичным продолжением гистограмм и графиков плотности будет Эмпирическая функция кумулятивного распределения. Для этой цели мы можем использовать функцию ecdf() . Основной сюжет, созданный командой

plot(ecdf(rnorm(100)),main="Cumulative distribution",xlab="x")

будет выглядеть введите описание изображения здесь

Начало работы с R_Plots

  • разброс точек

У вас есть два вектора, и вы хотите их построить.

x_values <- rnorm(n = 20 , mean = 5 , sd = 8) #20 values generated from Normal(5,8)
y_values <- rbeta(n = 20 , shape1 = 500 , shape2 = 10) #20 values generated from Beta(500,10)

Если вы хотите создать график, который имеет y_values по вертикальной оси и x_values по горизонтальной оси, вы можете использовать следующие команды:

plot(x = x_values, y = y_values, type = "p") #standard scatter-plot
plot(x = x_values, y = y_values, type = "l") # plot with lines
plot(x = x_values, y = y_values, type = "n") # empty plot

Вы можете набрать « ?plot() в консоли, чтобы узнать о дополнительных параметрах.

  • Boxplot

У вас есть некоторые переменные, и вы хотите изучить их распределения

#boxplot is an easy way to see if we have some outliers in the data.
   
z<- rbeta(20 , 500 , 10) #generating values from beta distribution
z[c(19 , 20)] <- c(0.97 , 1.05) # replace the two last values with outliers      
boxplot(z) # the two points are the outliers of variable z.
  • Гистограммы

Легкий способ рисования гистограмм

hist(x = x_values) # Histogram for x vector
hist(x = x_values, breaks = 3) #use breaks to set the numbers of bars you want
  • Круговые диаграммы

Если вы хотите визуализировать частоты переменной, просто нарисуйте пирог

Сначала мы должны генерировать данные с частотами, например:

P <- c(rep('A' , 3) , rep('B' , 10) , rep('C' , 7) )
t <- table(P) # this is a frequency matrix of variable P
pie(t) # And this is a visual version of the matrix above


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow