Skip to content

1.5.5.2 Wykresy liniowe

zozlak edited this page Oct 25, 2016 · 4 revisions

Pakiet MLAK udostępnia funkcje ułatwiające rysowanie wykresów liniowych:
wykresLiniowy(dane, tytuł, nMin = minimalnaLiczebność)
wykresLiniowy(dane, tytuł, tytułOsiX, tytułOsiY, nMin = minimalnaLiczebność)

Funkcje te przyjmują dane w postaci zagregowanej do tabeli (w R powiedzielibyśmy ramki danych) w formacie (kolejność kolumn jest dowolna):

seria x y n
etykieta serii 1 0 2 10
etykieta serii 1 1 3 15
... ... ... ...

Jak widać każdy wiersz danych opisuje położenie pojedynczego punktu (wierzchołka linii) na wykresie, wraz z jego przyporządkowaniem do serii danych oraz liczebnością.

Uwaga! Liczebności odgrywaj ważną rolę przy rysowaniu wykresu - patrz opis parametru nMin poniżej.

Uwaga! Instrukcje, jak zagregować dane zawiera rozdział 1.5.8.

Parametr nMin

Parametr nMin decyduje o tym, które punkty na wykresie będą prezentowane. Wszystkie punkty, dla których wartość zmiennej n jest mniejsza od nMin zostaną pominięte.

  • Jeśli pomijane są punkty skrajne, na wykresie nie pojawią się ani wartości punktów, ani linia przechodząca przez odpowiadające im wartości na osi X.
  • Jeśli pomijane są punkty, które zarówno po lewej, jak i po prawej stronie mają w danej serii danych sąsiadów o liczebności większej lub równej nMin, wtedy pominięte punkty nie zostaną narysowane, ale na wykresie pojawi się linia prosta łącząca niepominiętych sąsiadów (patrz przykład).

Przykłady

Utwórzymy dane, jak poniżej i narysujmy dwa wykresy liniowe z różnymi wartościami parametru nMin.

seria x y n
seria 1 1 1 50
seria 1 2 2 30
seria 1 3 2 30
seria 1 4 1 50
seria 2 1 4 30
seria 2 2 3 50
seria 2 3 1 50
seria 2 4 1 30
```{r, fig.height = 3}
dane = data.frame(
    seria = c('seria 1', 'seria 1', 'seria 1', 'seria 1', 'seria 2', 'seria 2', 'seria 2', 'seria 2'),
    x = c(1, 2, 3, 4, 1, 2, 3, 4),
    y = c(1, 2, 2, 1, 4, 3, 1, 1),
    n = c(50, 30, 30, 50, 30, 50, 50, 30)
)

wykresLiniowy(dane, 'bez pomijania', nMin = 30)

wykresLiniowy(dane, 'z pomijaniem', nMin = 40)
```