Strona główna » Poradniki » MATLAB » Rodzaje Wykresów
 

Rodzaje Wykresów

Wstęp

W poprzedniej części zamieściłem opis tworzenia wykresów przy użyciu funkcji plot. W programie MATLAB takich funkcji jest jeszcze kilka i każda z nich pozwala na tworzenie innego rodzaju wykresu. W niniejszej części postaram się opisać tworzenie i zastosowanie każdego z nich.

Wykres kolumnowy

Do tworzenia wykresu kolumnowego służy funkcja bar. Funkcja ta może przyjąć same wartości. Wtedy i-ty x ma wartość i-tego elementu z tablicy. Istnieje możliwość podać również dziedzinę. Należy pamiętać, że ilość elementów w dziedzinie musi być równa ilości elementów w zbiorze wartości. Przykładowe tworzenie wykresu kolumnowego:

  1. >> dane = [1 3 7 2 5];
  2. >> bar(dane);
Wykres kolumnowy z wartościami

Tego typu wywołanie funkcji jest równoznaczne z wywołanie dla wartości:

  1. >> bar(1:5, dane);

Zmieniając 1:5 na inne wartości możemy spowodować, że i-ty x będzie miał wartość i-tego elementu z dane. Jeśli podane wartości to swojego rodzaju wyniki np. finansów z ostatnich 5 lat to możemy jako pierwszą listę podać 2012:2016. Wtedy:

  1. >> bar(2012:2016, dane);
Wykres kolumnowy z latami

W przypadku finansów bardzo często porównuje się wyniki finansowe kilku firm. Istnieje możliwość podania kilku serii do wykresu. Przypuśćmy scenariusz taki: posiadamy dane firmy A oraz firmy B z ostatnich 5 lat. Z kolei dane firmy C tylko z trzech ostatnich lat. W celu wprowadzenia kilku serii musimy utworzyć tabelkę danych (tak samo jak tworzy się macierze). Wtedy kod generujący przykładowy wykres wygląda tak:

  1. >> dane = [1 1 0; 3 2 0; 7 3 1; 2 3 4; 5 5 8];
  2. >> bar(dane);
Wykres kolumnowy z kilkoma seriami

Wykres został wygenerowany poprawnie. Przypatrzmy się zmiennej dane. Wyniki dla i-tego okresu j-tej firmy znajdują się w i-tym wierszu w j-tej kolumnie. W ten sposób bardzo niewygodnie wpisuje się dane i bardzo łatwo się pomylić. Moim zdaniem o wiele lepszym pomysłem jest najpierw zadeklarować kolejna dane dla każdej firmy, a następnie złożyć do macierzy i wykonać transpozycje:

  1. >> daneA = [1, 3, 7, 2, 5];
  2. >> daneB = [1, 2, 3, 3, 5];
  3. >> daneC = [0, 0, 1, 4, 8];
  4. >> bar(2012:2016, [daneA; daneB; daneC]');

W ten sposób dane są wprowadzane w przejrzysty sposób. Należy jednak pamiętać, że w przypadku firmy C mamy dane nie z pięciu, tylko trzech lat. Wtedy dwa pierwsza lata uzupełniamy zerami. W przypadku braku zer możemy otrzymać nieoczekiwane, błędne wyniki.

Wykres kolumnowy skumulowany

Do tworzenia tego typu wykresu również używamy funkcji bar. Jako trzeci argument podajemy wtedy wartość stacked. Tego typu wykres może się przydać kiedy chcemy porównać łączne obroty firm dla wybranych okresów i stwierdzić, która z firm najlepiej w danym okresie sobie radziła. Przykładowo poprzedni wykres z nowym modyfikatorem wygląda tak:

  1. >> bar(2012:2016, [1, 3, 7, 2, 5; 1, 2, 3, 3, 5; 0, 0, 1, 4, 8]', 'stacked');
Skumulowany wykres kolumnowy

Wykres kołowy

Do stworzenia wykresu kołowego potrzebujemy pojedynczy wektor. Wykres kołowy zostanie podzielony na tyle części ile jest elementów. Obszary są rysowane procentowo. Program automatycznie wylicza sumą wszystkich elementów i wylicza ile procent zajmuje każda grupa. Przykładowo dla danych sondy dane=[67 32 85 4] wyliczy sumą oddanych głosów (188) i obliczy jaki procent odpowiedzi zdobyła wybrana odpowiedź tj. [45 17 36 2]. Oczywiście krok ten możemy wykonać manualnie i podać wyniki bezpośrednio w procentach.

  1. >> pie([67 32 85 4]);
Wykres Kołowy

W wykresie brakuje opisu. Znamy wyniki aczkolwiek nie wiemy bez wykresu jaka opcja zdobyła, który procent. Etykiety możemy dodać podając jako drugi argument wyrazy. Taką listę wpisujemy w nawiasach wąsatych { }, kolejne wartości rozdzielamy przecinkiem, a same wartości bierzemy w pojedynczy cudzysłów górny ' '. Przykładowo:

  1. >> pie([67 32 85 4], {'Opcja A', 'Opcja B', 'Opcja C', 'Opcja D'});
Wykres Kołowy z legendą

Załóżmy, że chcemy wyszczególnić niektóre obszary. Możemy to zrobić "odsuwając" wybrany obszar o pewną odległość. Można to zrobić dopisując dodatkowy wektor jako drugi argument. Musi mieć taką samą długość co wektor z danymi. i-ta wartość określa odległość o jaką i-ty obszar ma być odsunięty od środka wykresu. Przykładowo wyróżnijmy obszar, który zajmuje najwięcej miejsca:

  1. >> pie([67 32 85 4], [0 0 1 0], {'Opcja A', 'Opcja B', 'Opcja C', 'Opcja D'});
Wykres Kołowy z wysuniętym fragmentem

Istnieje możliwość, aby stworzyć wykres, który będzie niepełnym kołem. Wtedy należy podać takie wartości, aby suma ich wartości nie przekraczała 1. Przykładowo, aby pokazać wszystkie wyniki opcji prócz najmniejszej (Opcja D), wtedy wpisujemy:

  1. >> pie([0.45 0.17 0.36], {'Opcja A', 'Opcja B', 'Opcja C'});
Niepełny wykres Kołowy

Histogram

Histogram jest przydatny do tworzenia wykresów, które będą pokazywać dla każdej wartości ile razy występuje. Może mieć to zastosowanie w przypadku ocen. W przypadku podania wszystkich ocen możemy zauważyć, która ocena występowała najczęściej, a która najrzadziej. Tego typu wykres tworzymy przy pomocy funkcji hist. Wprowadźmy przykładowo listę ocen:

  1. >> hist([1 2 3 4 6 2 3 4 4 5 5 4 4 3 2 4 5]);
Histogram

W przypadku, gdy dane są niekoniecznie liczbami całkowitymi z określonego zakresu. Przydatny może się okazać parametr k. Wpisanie go jako argument pozwoli określić na ile grup powinny zostać podzielone dane. W przypadku rozpatrywanego przykładu o ocenach dodanie argumentu k = 3 spowoduje pogrupowanie liczb w 3 grupy. W tym przypadku do grupy pierwszej trafią oceny 1, 2, do drugiej 3, 4, a ostatniej 5 oraz 6:

  1. >> hist([1 2 3 4 6 2 3 4 4 5 5 4 4 3 2 4 5], 3);
Histogram ocen

Wykres pudełkowy

Innym przydatnym narzędziem statystycznym udostępnionym przez program jest wykres pudełkowy. Tego typu wykres tworzymy przy pomocy funkcji boxplot. Z takiego wykresu możemy odczytać minimum, maksimum, kwartyle oraz medianę. W przypadku generowanie tego typu wykresu dla wcześniej omawianych ocen otrzymujemy:

  1. >> boxplot([1 2 3 4 6 2 3 4 4 5 5 4 4 3 2 4 5]);
Wykres pudełkowy

W tym przypadku pudełko jest zaznaczone niebieską obwódką. Czerwona kreska to mediana.

Rozproszenie danych

MATLAB pozwala na badanie rozproszenia danych. Do tego potrzebujemy dwóch wektorów, które będą równej długości. i-ta wartość z pierwszej to współrzędna X punktu, a i-ta wartość z drugiej to współrzędna Y. Punktów zostanie zaznaczonych tyle na wykresie jak długie są podane wektory. Przykładowo:

  1. >> scatter(randn(1000, 1), randn(1000, 1));
Wykres punktowy

Współrzędne punktów losujemy przy pomocy funkcji randn. Na wykresie zostały zaznaczone wszystkie wylosowane punkty.