Et stolpeplott eller stolpediagram er en graf som representerer kategorien data med rektangulære stolper med lengder og høyder som er proporsjonale med verdiene de representerer. Barplottene kan plottes horisontalt eller vertikalt. Et søylediagram beskriver sammenligningene mellom de diskrete kategoriene. En av aksene i plottet representerer de spesifikke kategoriene som sammenlignes, mens den andre aksen representerer de målte verdiene som tilsvarer disse kategoriene.
Opprette en bartomt
De matplotlib API i Python gir bar()-funksjonen som kan brukes i MATLAB-stilbruk eller som et objektorientert API. Syntaksen til bar()-funksjonen som skal brukes med aksene er som følger:-
plt.bar(x, height, width, bottom, align)>
Funksjonen lager et søyleplott avgrenset med et rektangel avhengig av de gitte parameterne. Følgende er et enkelt eksempel på barplotten, som representerer antall studenter som er påmeldt til forskjellige kurs ved et institutt.
Python3
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()> |
>
array liste java
>
Produksjon-
Her brukes plt.bar(courses, values, color=’maroon’) for å spesifisere at søylediagrammet skal plottes ved å bruke kurskolonnen som X-aksen, og verdiene som Y-aksen. Fargeattributtet brukes til å angi fargen på søylene (rødbrun i dette tilfellet). lage en tittel for graph.plt.show() brukes til å vise grafen som utdata ved å bruke de forrige kommandoene.
Tilpassing av barplottet
Python3
saira banu skuespiller
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()> |
>
>
Produksjon:
Det er observert i søylediagrammet ovenfor at X-akseflåttene overlapper hverandre, og kan derfor ikke ses ordentlig. Ved å rotere X-aksen kan den derfor være tydelig synlig. Det er derfor det kreves tilpasning i søylediagrammer.
Python3
mysql brukerliste
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()> |
>
>
Produksjon:
Det er mange flere tilpasninger tilgjengelig for bartomter.
Flere bartomter
Flere søyleplott brukes når sammenligning mellom datasettet skal gjøres når en variabel endres. Vi kan enkelt konvertere det til et stablet område-stolpediagram, der hver undergruppe vises med én over de andre. Det kan plottes ved å variere tykkelsen og plasseringen av stengene. Følgende søylediagram viser antall beståtte studenter i ingeniørfaget:
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()> |
>
>
Produksjon:
scan.nextstring java
Stablet bartomt
Stablede søyleplott representerer ulike grupper oppå hverandre. Høyden på stolpen avhenger av den resulterende høyden på kombinasjonen av resultatene fra gruppene. Den går fra bunnen til verdien i stedet for å gå fra null til verdi. Følgende søyleplott representerer bidraget til gutter og jenter i laget.
tom liste java
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()> |
>
>
Produksjon-