Python предоставя една от най-популярните библиотеки за чертане, наречена Matplotlib . Той е с отворен код, крос-платформа за създаване на 2D графики от данни в масив. Обикновено се използва за визуализация на данни и представяне чрез различни графики.
Matplotlib първоначално е замислен от Джон Д. Хънтър през 2003 г. Последната версия на matplotlib е 2.2.0, издадена през януари 2018 г.
Преди да започнем да работим с библиотеката matplotlib, трябва да инсталираме в нашата Python среда.
Инсталиране на Matplotlib
Въведете следната команда във вашия терминал и натиснете enter.
pip install matplotlib
Горната команда ще инсталира библиотеката matplotlib и нейния пакет на зависимости в операционната система Window.
Основна концепция на Matplotlib
Една графика съдържа следните части. Нека разберем тези части.
Фигура: Това е цяла фигура, която може да съдържа една или повече оси (плоти). Можем да мислим за фигурата като за платно, което съдържа сюжети.
java масиви
Брадви: Една фигура може да съдържа няколко оси. Състои се от два или три (в случай на 3D) осови обекта. Всяка ос се състои от заглавие, x-етикет и y-етикет.
ос: Осите са броят на подобни на линии обекти и отговарят за генерирането на границите на графиката.
Изпълнител: Художник е всичко, което виждаме на графиката като текстови обекти, Line2D обекти и обекти за колекция. Повечето артисти са обвързани с Axes.
Въведение в pyplot
Matplotlib предоставя пакета pyplot, който се използва за начертаване на графиката на дадени данни. The matplotlib.pyplot е набор от функции за команден стил, които карат matplotlib да работи като MATLAB. Пакетът pyplot съдържа много функции, които се използват за създаване на фигура, създаване на област за чертане във фигура, украсяване на графиката с етикети, начертаване на някои линии в област за чертане и т.н.
Можем бързо да начертаем графика с pyplot. Нека да разгледаме следния пример.
Основен пример за начертаване на графика
Ето основния пример за генериране на проста графика; програмата е следната:
from matplotlib import pyplot as plt #ploting our canvas plt.plot([1,2,3],[4,5,1]) #display the graph plt.show()
Изход:
Изграждане на различен тип графики
Можем да начертаем различните графики с помощта на модула pyplot. Нека разберем следните примери.
1. Линейна графика
Линейната диаграма се използва за показване на информацията като серия от линия. Лесно се чертае. Помислете за следния пример.
пример -
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()
Изход:
Линията може да се променя с помощта на различни функции. Това прави графиката по-привлекателна. По-долу е примерът.
пример -
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. Стълбовидна графика
Стълбовидната графика е една от най-често срещаните графики и се използва за представяне на данните, свързани с категоричните променливи. The лента () функцията приема три аргумента - категорични променливи, стойности и цвят.
пример -
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. Кръгова диаграма
Диаграмата е кръгла графика, която е разделена на подчаст или сегмент. Използва се за представяне на процентни или пропорционални данни, където всяко парче пай представлява определена категория. Нека разберем примера по-долу.
пример -
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()
Изход:
4. Хистограма
Хистограмата и лентовата графика са доста сходни, но има малка разлика. Хистограмата се използва за представяне на разпределението, а лентовата диаграма се използва за сравняване на различните обекти. Хистограмата обикновено се използва за начертаване на честотата на редица стойности в сравнение с набор от диапазони на стойности.
В следващия пример сме взели данните за различните проценти на резултатите на ученика и сме начертали хистограмата по отношение на броя на студентите. Нека разберем следния пример.
пример -
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()
Изход:
Нека разберем друг пример.
Пример - 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()
Изход:
5. Точкова диаграма
Точковата диаграма се използва за сравняване на променливата по отношение на другите променливи. Дефинира се като това как една променлива е повлияла на другата променлива. Данните са представени като набор от точки. Нека разберем следния пример.
пример -
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()
Изход:
въпроси за java интервю
Пример - 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()
Изход:
В този урок обсъдихме всички основни типове графики, използвани при визуализация на данни. За да научите повече за графиката, посетете нашия урок за matplotlib.