Pokażemy teraz, w jaki sposób z wektora liczbowego można utworzyć wykres pokazujący rozkład pewnej zmiennej. Wróćmy do naszego przykładu z pytaniem o ulubioną porę roku.
poraroku <- c(zima=15, wiosna=26, lato=26, jesień=33)
poraroku
## zima wiosna lato jesień
## 15 26 26 33
Jeśli chcemy pokazać ten rozkład na wykresie słupkowym, korzystamy z punkcji barplot
:
barplot(poraroku)
Do wykresu możemy dodawać kolejne elementy, jeśli chcemy, aby był bardziej czytelny. Na przykład, jesli chcemy dodać tytuł wykresu oraz nazwę osi pionowej, piszemy:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek")
Argument main
oznacza tytuł główny wykresu, argument ylab
oznacza tytuł osi pionowej. Analogiczny argument xlab
oznacza tytuł osi poziomej, ale w tym przykładzie z niego nie korzystamy.
Przypuśćmy, że chcemy zmienić wypełnienie słupków na jasnoniebieskie. Piszemy wówczas:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = "lightblue")
Możemy też każdy słupek wypełnić innym kolorem:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"))
Argument col
jest w tym przypadku wektorem znakowym, którego elementy to nazwy kolorów użytych do wypełnienia słupków. Listę wszystkich kolorów dostepnych w R można uzyskać wpisując colors()
.
Jeśli nie chcemy, aby słupki miały czarne obramowanie, możemy je zmienić w taki sam sposób, w jaki zmienia się kolor wypełnienia. Za kolor obramowania odpowiada argument border
, którego wartość to wektor znakowy z nazwami kolorów. Na przykład, jeśli chcemy, aby wszystkie słupki miały żółte obramowanie, piszemy:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = "yellow")
Jeśli chcemy, aby obramowanie słupków było takie samo, jak ich wypełnienie, piszemy:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = c("lightblue",
"lightgreen", "orange", "brown"))
Wysokość osi pionowej możemy dostosować tak, aby sięgała ponad najwyższy słupek. Wykorzystuje się do tego argument ylim
, który odpowiada za wysokość osi pionowej. Argument ten wymaga podania dwóch liczb, z których pierwsza określa dolną granicę osi, a druga — jej górną granicę. Ponieważ najwyższy słupek ma wysokość 33, wysokość osi pionowej możemy określić na 35 jednostek w następujący sposób:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = c("lightblue",
"lightgreen", "orange", "brown"), ylim = c(0, 35))
Przypuśćmy jeszcze, że chcemy zmienić nieco etykiety słupków, tak, by każda zaczynała się dużą literą. Robi się to za pomocą argumentu names.arg
:
barplot(poraroku, main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = c("lightblue",
"lightgreen", "orange", "brown"), ylim = c(0, 35), names.arg = c("Zima",
"Wiosna", "Lato", "Jesień"))
Argument ten jest wektorem znakowym, którego poszczególne elementy odpowiadają nazwom słupków. Wektor ten musi mieć tyle elementów, ile jest słupków na wykresie. Argument ten jest szczególnie przydatny wtedy, kiedy wektor liczbowy, z którego utworzony został wykres, nie zawiera nazw. Na przykład:
barplot(c(15, 26, 26, 33), main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = c("lightblue",
"lightgreen", "orange", "brown"), ylim = c(0, 35), )
Ale:
barplot(c(15, 26, 26, 33), main = "Ulubiona pora roku", ylab = "Odsetek",
col = c("lightblue", "lightgreen", "orange", "brown"), border = c("lightblue",
"lightgreen", "orange", "brown"), ylim = c(0, 35), names.arg = c("Zima",
"Wiosna", "Lato", "Jesień"))
art
i nadać każdemu elementowi tego wektoru odpowiednią nazwę.