logo

Jak narysować wykres w Pythonie

Python udostępnia jedną z najpopularniejszych bibliotek do tworzenia wykresów o nazwie Matplotlib . Jest to wieloplatformowa platforma typu open source do tworzenia wykresów 2D na podstawie danych w tablicy. Jest powszechnie używany do wizualizacji danych i przedstawiany za pomocą różnych wykresów.

Matplotlib został pierwotnie wymyślony przez Johna D. Huntera w 2003 roku. Najnowsza wersja matplotlib to 2.2.0 wydana w styczniu 2018 roku.

Zanim zaczniemy pracować z biblioteką matplotlib musimy ją zainstalować w naszym środowisku Python.

Instalacja Matplotliba

Wpisz następujące polecenie w terminalu i naciśnij klawisz Enter.

 pip install matplotlib 

Powyższe polecenie zainstaluje bibliotekę matplotlib i jej pakiet zależności w systemie operacyjnym Windows.

Podstawowa koncepcja Matplotlib

Wykres zawiera następujące części. Rozumiemy te części.

Jak narysować wykres w Pythonie

Postać: Jest to cała figura, która może zawierać jedną lub więcej osi (działek). Możemy myśleć o figurze jako o płótnie, na którym znajdują się wątki.

Osie: Figura może zawierać kilka osi. Składa się z dwóch lub trzech (w przypadku obiektów 3D) obiektów Axis. Każda oś składa się z tytułu, etykiety x i etykiety y.

Oś: Osie to liczba obiektów liniowych odpowiedzialnych za generowanie granic wykresu.

Artysta: Artysta to wszystko, co widzimy na wykresie, takie jak obiekty tekstowe, obiekty Line2D i obiekty kolekcji. Większość Artystów jest przywiązana do Toporów.

Wprowadzenie do pyplotu

Matplotlib udostępnia pakiet pyplot, który służy do wykreślania wykresu danych. The matplotlib.pyplot to zestaw funkcji w stylu poleceń, dzięki którym matplotlib działa jak MATLAB. Pakiet pyplot zawiera wiele funkcji służących do tworzenia figury, tworzenia obszaru kreślenia na figurze, ozdabiania wykresu etykietami, kreślenia niektórych linii w obszarze kreślenia itp.

Możemy szybko narysować wykres za pomocą pyplot. Rzućmy okiem na następujący przykład.

Podstawowy przykład wykreślania wykresu

Oto podstawowy przykład generowania prostego wykresu; program jest następujący:

 from matplotlib import pyplot as plt #ploting our canvas plt.plot([1,2,3],[4,5,1]) #display the graph plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

Rysowanie różnych typów wykresów

Możemy wykreślić różne wykresy za pomocą modułu pyplot. Rozumiemy następujące przykłady.

1. Wykres liniowy

Wykres liniowy służy do wyświetlania informacji w postaci serii linii. Łatwo jest to narysować. Rozważ następujący przykład.

Przykład -

 from matplotlib import pyplot as plt x = [1,2,3] y = [10,11,12] plt.plot(x,y) plt.title('Line graph') plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

Wyjście:

Linię można modyfikować za pomocą różnych funkcji. Zwiększa to atrakcyjność wykresu. Poniżej znajduje się przykład.

Przykład -

 from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [10, 12, 13] y = [8, 16, 6] x2 = [8, 15, 11] y2 = [6, 15, 7] plt.plot(x, y, 'b', label='line one', linewidth=5) plt.plot(x2, y2, 'r', label='line two', linewidth=5) plt.title('Epic Info') fig = plt.figure() plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

2. Wykres słupkowy

Wykres słupkowy jest jednym z najpowszechniejszych wykresów i służy do przedstawienia danych związanych ze zmiennymi kategorycznymi. The bar() funkcja przyjmuje trzy argumenty — zmienne kategoryczne, wartości i kolor.

Przykład -

 from matplotlib import pyplot as plt Names = ['Arun','James','Ricky','Patrick'] Marks = [51,87,45,67] plt.bar(Names,Marks,color = 'blue') plt.title('Result') plt.xlabel('Names') plt.ylabel('Marks') plt.show() 

3. Wykres kołowy

Wykres to wykres kołowy podzielony na podczęści lub segmenty. Służy do przedstawienia danych procentowych lub proporcjonalnych, w których każdy kawałek ciasta reprezentuje określoną kategorię. Rozumiemy poniższy przykład.

nie

Przykład -

 from matplotlib import pyplot as plt # Pie chart, where the slices will be ordered and plotted counter-clockwise: Aus_Players = 'Smith', 'Finch', 'Warner', 'Lumberchane' Runs = [42, 32, 18, 24] explode = (0.1, 0, 0, 0) # it 'explode' the 1st slice fig1, ax1 = plt.subplots() ax1.pie(Runs, explode=explode, labels=Aus_Players, autopct='%1.1f%%', shadow=True, startangle=90) ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

4. Histogram

Histogram i wykres słupkowy są dość podobne, ale istnieje między nimi niewielka różnica. Histogram służy do przedstawienia rozkładu, a wykres słupkowy służy do porównywania różnych jednostek. Histogram jest zwykle używany do wykreślenia częstotliwości szeregu wartości w porównaniu ze zbiorem zakresów wartości.

W poniższym przykładzie wzięliśmy dane dotyczące różnych procentów wyników ucznia i wykreśliliśmy histogram w odniesieniu do liczby uczniów. Rozumiemy następujący przykład.

Przykład -

 from matplotlib import pyplot as plt from matplotlib import pyplot as plt percentage = [97,54,45,10, 20, 10, 30,97,50,71,40,49,40,74,95,80,65,82,70,65,55,70,75,60,52,44,43,42,45] number_of_student = [0,10,20,30,40,50,60,70,80,90,100] plt.hist(percentage, number_of_student, histtype='bar', rwidth=0.8) plt.xlabel('percentage') plt.ylabel('Number of people') plt.title('Histogram') plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

Rozumiemy inny przykład.

Przykład - 2:

 from matplotlib import pyplot as plt # Importing Numpy Library import numpy as np plt.style.use('fivethirtyeight') mu = 50 sigma = 7 x = np.random.normal(mu, sigma, size=200) fig, ax = plt.subplots() ax.hist(x, 20) ax.set_title('Historgram') ax.set_xlabel('bin range') ax.set_ylabel('frequency') fig.tight_layout() plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

5. Wykres punktowy

Wykres punktowy służy do porównania zmiennej w odniesieniu do innych zmiennych. Definiuje się go jako wpływ jednej zmiennej na drugą. Dane są reprezentowane jako zbiór punktów. Rozumiemy następujący przykład.

Przykład -

 from matplotlib import pyplot as plt from matplotlib import style style.use('ggplot') x = [4,8,12] y = [19,11,7] x2 = [7,10,12] y2 = [8,18,24] plt.scatter(x, y) plt.scatter(x2, y2, color='g') plt.title('Epic Info') plt.ylabel('Y axis') plt.xlabel('X axis') plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

Przykład - 2:

 import matplotlib.pyplot as plt a = [2, 2.5, 3, 3.5, 4.5, 4.7, 5.0] b = [7.5, 8, 8.5, 9, 9.5, 10, 10.5] a1 = [9, 8.5, 9, 9.5, 10, 10.5, 12] b1 = [3, 3.5, 4.7, 4, 4.5, 5, 5.2] plt.scatter(a, b, label='high income low saving', color='b') plt.scatter(a1, b1, label='low income high savings', color='g') plt.xlabel('saving*100') plt.ylabel('income*1000') plt.title('Scatter Plot') plt.legend() plt.show() 

Wyjście:

Jak narysować wykres w Pythonie

W tym samouczku omówiliśmy wszystkie podstawowe typy wykresów wykorzystywane w wizualizacji danych. Aby dowiedzieć się więcej o grafie, odwiedź nasz tutorial dotyczący matplotlib.