Szukaj…


Parametry

Parametr Detale
x zmienna osi x. Może podawać data$variablex lub data[,x]
y zmienna osi y. Może podawać data$variabley lub data[,y]
main Główny tytuł fabuły
sub Opcjonalny podtytuł fabuły
xlab Etykieta dla osi x
ylab Etykieta dla osi y
pch Liczba całkowita lub znak wskazujący symbol kreślenia
col Liczba całkowita lub ciąg wskazujący kolor
type Rodzaj działki. "p" dla punktów, "l" dla linii, "b" dla obu, "c" dla samych linii częściowo z "b" , "o" dla obu „wykreślonych”, "h" dla „histogramu” ( lub „wysokiej gęstości”) pionowe linie, "s" dla stopni schodów, "S" dla innych stopni, "n" dla braku kreślenia

Uwagi

Elementy wymienione w sekcji „Parametry” to niewielki ułamek możliwych parametrów, które można modyfikować lub ustawiać za pomocą funkcji par . Bardziej kompletna lista patrz par . Ponadto wszystkie urządzenia graficzne, w tym specyficzne dla systemu interaktywne urządzenia graficzne, będą miały zestaw parametrów, które mogą dostosować dane wyjściowe.

Podstawowa fabuła

Podstawowy wykres jest tworzony przez wywołanie plot() . Tutaj wykorzystujemy wbudowaną ramkę danych cars która zawiera prędkość samochodów i odległości zatrzymane w latach dwudziestych. (Aby dowiedzieć się więcej o zestawie danych, skorzystaj z pomocy (samochody)).

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

wprowadź opis zdjęcia tutaj

Możemy użyć wielu innych odmian kodu, aby uzyskać ten sam wynik. Możemy również zmienić parametry, aby uzyskać różne wyniki.

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

wprowadź opis zdjęcia tutaj

Do tego wykresu można dodać dodatkowe funkcje, wywołując points() , text() , mtext() , lines() , grid() itp.

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")

wprowadź opis zdjęcia tutaj

Matplot

matplot jest przydatny do szybkiego wykreślania wielu zestawów obserwacji z tego samego obiektu, szczególnie z macierzy, na tym samym wykresie.

Oto przykład macierzy zawierającej cztery zestawy losowych losowań, każdy o innej średniej.

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

Jednym ze sposobów wykreślenia wszystkich tych obserwacji na tym samym wykresie jest wykonanie jednego wywołania plot a następnie kolejnych trzech wywołań points lub lines .

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

Rysuj za pomocą wykresu i linii

Jest to jednak zarówno żmudne, jak i powoduje problemy, ponieważ między innymi domyślnie granice osi są ustalane przez plot aby pasowały tylko do pierwszej kolumny.

Znacznie wygodniejsze w tej sytuacji jest użycie funkcji matplot , która wymaga tylko jednego wywołania i automatycznie zajmuje się ograniczeniami osi i zmienia estetykę każdej kolumny, aby umożliwić ich rozróżnienie.

matplot(xmat, type = 'l')

Rysunek za pomocą matplot

Zauważ, że domyślnie matplot zmienia zarówno kolor ( col ), jak i lty linii ( lty ), ponieważ zwiększa to liczbę możliwych kombinacji przed ich powtórzeniem. Jednak dowolną (lub obie) z tych estetyki można ustawić na jedną wartość ...

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

Rysuj za pomocą matplotu ze wszystkimi czarnymi liniami

... lub niestandardowy wektor (który będzie przetwarzany do liczby kolumn, zgodnie ze standardowymi zasadami recyklingu wektorów R).

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

Rysuj za pomocą matplotu z niestandardowymi kolorowymi liniami

Standardowe parametry graficzne, w tym main , xlab , xmin , działają dokładnie tak samo, jak w przypadku plot . Aby uzyskać więcej informacji na ten temat, patrz ?par .

Podobnie jak plot , jeśli podano tylko jeden obiekt, matplot zakłada, że jest to zmienna y i używa indeksów dla x . Jednakże, x i y mogą być podane bezpośrednio.

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

Ustawienie wartości dla osi x

W rzeczywistości zarówno x , jak i y mogą być macierzami.

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')

Wprowadzanie macierzy dla xiy

Histogramy

Histogramy pozwalają na pseudo-wykres bazowego rozkładu danych.

hist(ldeaths)

Histogram ścieżek z domyślnymi parametrami

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

Historgram z gęstością, różnymi podziałami i kolorowymi paskami.

Łączenie wykresów

Często przydatne jest łączenie wielu typów wykresów na jednym wykresie (np. Barplot obok Scatterplot.) R ułatwia to za pomocą funkcji par() i layout() .

par()

par używa argumentów mfrow lub mfcol do utworzenia macierzy nrows i ncols c(nrows, ncols) która posłuży jako siatka dla twoich wykresów. Poniższy przykład pokazuje, jak połączyć cztery wykresy na jednym wykresie:

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")

Cztery działki połączone w jedną działkę

layout()

layout() jest bardziej elastyczny i pozwala określić lokalizację i zasięg każdego wykresu w końcowym łączonym wykresie. Ta funkcja oczekuje obiektu wejściowego jako danych wejściowych:

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")

Trzy wykresy połączone w jeden wykres za pomocą layout ().

Wykres gęstości

Bardzo przydatną i logiczną kontynuacją histogramów byłoby wykreślenie wygładzonej funkcji gęstości zmiennej losowej. Podstawowa fabuła stworzona przez polecenie

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

wyglądałby jak

przykład wykresu gęstości rnorm

Możesz nałożyć histogram i krzywą gęstości za pomocą

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

co daje

Nakładka rnorm

Empiryczna funkcja skumulowanego rozkładu

Bardzo przydatną i logiczną kontynuacją histogramów i wykresów gęstości byłaby funkcja empirycznej kumulatywnej dystrybucji. W tym celu możemy użyć funkcji ecdf() . Podstawowa fabuła stworzona przez polecenie

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

wyglądałby jak wprowadź opis zdjęcia tutaj

Rozpoczęcie pracy z R_Plots

  • Wykres punktowy

Masz dwa wektory i chcesz je wykreślić.

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)

Jeśli chcesz utworzyć wykres, który ma wartości y_values osi pionowej i wartości x_values osi poziomej, możesz użyć następujących poleceń:

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

Możesz wpisać ?plot() w konsoli, aby przeczytać o więcej opcjach.

  • Boxplot

Masz jakieś zmienne i chcesz sprawdzić ich rozkłady

#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.
  • Histogramy

Łatwy sposób rysowania histogramów

hist(x = x_values) # Histogram for x vector
hist(x = x_values, breaks = 3) #use breaks to set the numbers of bars you want
  • Wykresy kołowe

Jeśli chcesz wizualizować częstotliwości zmiennej, po prostu narysuj ciasto

Najpierw musimy wygenerować dane z częstotliwościami, na przykład:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow