logo

Bar Plot у Matplotlib

Стовпчаста діаграма або стовпчаста діаграма — це графік, який представляє категорію даних за допомогою прямокутних стовпчиків, довжина та висота яких пропорційна значенням, які вони представляють. Стовпчасті діаграми можуть бути нанесені горизонтально або вертикально. Гістограма описує порівняння між окремими категоріями. Одна з осей графіка представляє конкретні категорії, що порівнюються, тоді як інша вісь представляє виміряні значення, що відповідають цим категоріям.

Створення барного сюжету

The matplotlib API у Python надає функцію bar(), яку можна використовувати у стилі MATLAB або як об’єктно-орієнтований API. Синтаксис функції bar(), яка буде використовуватися з осями, такий:-



plt.bar(x, height, width, bottom, align)>

Функція створює стовпчасту діаграму, обмежену прямокутником, залежно від заданих параметрів. Нижче наведено простий приклад стовпчикової діаграми, яка відображає кількість студентів, зарахованих на різні курси інституту.

Python3








методи java

import> numpy as np> import> matplotlib.pyplot as plt> > # creating the dataset> data>=> {>'C'>:>20>,>'C++'>:>15>,>'Java'>:>30>,> >'Python'>:>35>}> courses>=> list>(data.keys())> values>=> list>(data.values())> > fig>=> plt.figure(figsize>=> (>10>,>5>))> # creating the bar plot> plt.bar(courses, values, color>=>'maroon'>,> >width>=> 0.4>)> plt.xlabel(>'Courses offered'>)> plt.ylabel(>'No. of students enrolled'>)> plt.title(>'Students enrolled in different courses'>)> plt.show()>

>

>

вихід-

Тут plt.bar(courses, values, color=’maroon’) використовується для вказівки того, що гістограма має бути побудована за допомогою стовпця курсів як осі Х, а значень – як осі Y. Атрибут color використовується для встановлення кольору смужок (бордовий у цьому випадку).plt.xlabel(пропоновані курси) та plt.ylabel(зараховані студенти) використовуються для позначення відповідних axes.plt.title() використовується для створити заголовок для graph.plt.show() використовується для показу графіка як результату за допомогою попередніх команд.

Налаштування барного сюжету

Python3




import> pandas as pd> from> matplotlib>import> pyplot as plt> # Read CSV into pandas> data>=> pd.read_csv(r>'cars.csv'>)> data.head()> df>=> pd.DataFrame(data)> name>=> df[>'car'>].head(>12>)> price>=> df[>'price'>].head(>12>)> # Figure Size> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Horizontal Bar Plot> plt.bar(name[>0>:>10>], price[>0>:>10>])> # Show Plot> plt.show()>

>

спати в js
>

Вихід:

На наведеній вище гістограмі видно, що позначки осі X накладаються одна на одну, тому їх неможливо побачити належним чином. Таким чином, обертаючи галочки осі X, це можна чітко побачити. Ось чому потрібне налаштування гістограм.

Python3


перетворити int на рядок



import> pandas as pd> from> matplotlib>import> pyplot as plt> # Read CSV into pandas> data>=> pd.read_csv(r>'cars.csv'>)> data.head()> df>=> pd.DataFrame(data)> name>=> df[>'car'>].head(>12>)> price>=> df[>'price'>].head(>12>)> # Figure Size> fig, ax>=> plt.subplots(figsize>=>(>16>,>9>))> # Horizontal Bar Plot> ax.barh(name, price)> # Remove axes splines> for> s>in> [>'top'>,>'bottom'>,>'left'>,>'right'>]:> >ax.spines[s].set_visible(>False>)> # Remove x, y Ticks> ax.xaxis.set_ticks_position(>'none'>)> ax.yaxis.set_ticks_position(>'none'>)> # Add padding between axes and labels> ax.xaxis.set_tick_params(pad>=> 5>)> ax.yaxis.set_tick_params(pad>=> 10>)> # Add x, y gridlines> ax.grid(b>=> True>, color>=>'grey'>,> >linestyle>=>'-.'>, linewidth>=> 0.5>,> >alpha>=> 0.2>)> # Show top values> ax.invert_yaxis()> # Add annotation to bars> for> i>in> ax.patches:> >plt.text(i.get_width()>+>0.2>, i.get_y()>+>0.5>,> >str>(>round>((i.get_width()),>2>)),> >fontsize>=> 10>, fontweight>=>'bold'>,> >color>=>'grey'>)> # Add Plot Title> ax.set_title(>'Sports car and their price in crore'>,> >loc>=>'left'>, )> # Add Text watermark> fig.text(>0.9>,>0.15>,>'Jeeteshgavande30'>, fontsize>=> 12>,> >color>=>'grey'>, ha>=>'right'>, va>=>'bottom'>,> >alpha>=> 0.7>)> # Show Plot> plt.show()>

>

>

Вихід:

Існує багато інших налаштувань, доступних для стовпчастих діаграм.

Багатобарвні ділянки

Кілька стовпчастих діаграм використовуються, коли необхідно порівняти набір даних, коли одна змінна змінюється. Ми можемо легко перетворити його на гістограму з накопиченими областями, де кожна підгрупа відображається одна над іншою. Його можна накреслити, змінюючи товщину та положення смуг. Наступна стовпчаста діаграма показує кількість студентів, прийнятих на інженерний факультет:

Python3




import> numpy as np> import> matplotlib.pyplot as plt> # set width of bar> barWidth>=> 0.25> fig>=> plt.subplots(figsize>=>(>12>,>8>))> # set height of bar> IT>=> [>12>,>30>,>1>,>8>,>22>]> ECE>=> [>28>,>6>,>16>,>5>,>10>]> CSE>=> [>29>,>3>,>24>,>25>,>17>]> # Set position of bar on X axis> br1>=> np.arange(>len>(IT))> br2>=> [x>+> barWidth>for> x>in> br1]> br3>=> [x>+> barWidth>for> x>in> br2]> # Make the plot> plt.bar(br1, IT, color>=>'r'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'IT'>)> plt.bar(br2, ECE, color>=>'g'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'ECE'>)> plt.bar(br3, CSE, color>=>'b'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'CSE'>)> # Adding Xticks> plt.xlabel(>'Branch'>, fontweight>=>'bold'>, fontsize>=> 15>)> plt.ylabel(>'Students passed'>, fontweight>=>'bold'>, fontsize>=> 15>)> plt.xticks([r>+> barWidth>for> r>in> range>(>len>(IT))],> >[>'2015'>,>'2016'>,>'2017'>,>'2018'>,>'2019'>])> plt.legend()> plt.show()>

>

>

Вихід:

перейменувати папку linux

Багатошаровий барний ділянку

Стовпчасті стовпчасті діаграми представляють різні групи одна над одною. Висота смуги залежить від результуючої висоти комбінації результатів груп. Він рухається від низу до значення, а не від нуля до значення. Наступний штриховий сюжет відображає внесок хлопців і дівчат у команду.

перетворити рядок на ціле число

Python3




import> numpy as np> import> matplotlib.pyplot as plt> N>=> 5> boys>=> (>20>,>35>,>30>,>35>,>27>)> girls>=> (>25>,>32>,>34>,>20>,>25>)> boyStd>=> (>2>,>3>,>4>,>1>,>2>)> girlStd>=> (>3>,>5>,>2>,>3>,>3>)> ind>=> np.arange(N)> width>=> 0.35> fig>=> plt.subplots(figsize>=>(>10>,>7>))> p1>=> plt.bar(ind, boys, width, yerr>=> boyStd)> p2>=> plt.bar(ind, girls, width,> >bottom>=> boys, yerr>=> girlStd)> plt.ylabel(>'Contribution'>)> plt.title(>'Contribution by the teams'>)> plt.xticks(ind, (>'T1'>,>'T2'>,>'T3'>,>'T4'>,>'T5'>))> plt.yticks(np.arange(>0>,>81>,>10>))> plt.legend((p1[>0>], p2[>0>]), (>'boys'>,>'girls'>))> plt.show()>

>

>

вихід-