Vykreslenie histogramu v Pythone pomocou Matplotlib

Vykreslenie histogramu v Pythone pomocou Matplotlib

Histogramy sú základným nástrojom pri vizualizácii údajov, poskytujúce grafické znázornenie distribúcie údajov. Sú obzvlášť užitočné na skúmanie nepretržitých údajov, ako sú numerické merania alebo údaje zo senzorov. Tento článok vás prevedie procesom vykresľovania histogramu Python použitím Matplotlib , ktorá zahŕňa základné kroky od prípravy údajov až po generovanie grafu histogramu.

Čo sú histogramy Matplotlib?

A Histogram predstavuje údaje poskytované vo forme niektorých skupín. Je to presná metóda na grafické znázornenie rozloženia číselných údajov. Je to typ stĺpcového grafu, kde os X predstavuje rozsahy zásobníkov, zatiaľ čo os Y poskytuje informácie o frekvencii.

Vytvorenie histogramu Matplotlib

Ak chcete vytvoriť histogram Matplotlib, prvým krokom je vytvoriť zásobník rozsahov, potom rozdeliť celý rozsah hodnôt do série intervalov a spočítať hodnoty, ktoré spadajú do každého z intervalov. Bins sú identifikované ako po sebe idúce, neprekrývajúce sa intervaly premenných matplotlib.pyplot.hist() funkcia sa používa na výpočet a vytvorenie histogramu x.

Nasledujúca tabuľka zobrazuje parametre akceptované funkciou matplotlib.pyplot.hist() :

Atribút Parameter
X pole alebo postupnosť poľa
koše voliteľný parameter obsahuje celé číslo alebo sekvenciu alebo reťazce
hustota Voliteľný parameter obsahuje boolovské hodnoty
rozsah Voliteľný parameter predstavuje horný a dolný rozsah zásobníkov
histtype voliteľný parameter používaný na vytvorenie typu histogramu [bar, barstacked, step, stepfilled], predvolená hodnota je bar
zarovnať voliteľný parameter riadi vykresľovanie histogramu [vľavo, vpravo, uprostred]
závažia voliteľný parameter obsahuje pole váh s rovnakými rozmermi ako x
dno umiestnenie základnej čiary každého zásobníka
šírka r voliteľný parameter, ktorým je relatívna šírka pruhov vzhľadom na šírku zásobníka
farba voliteľný parameter používaný na nastavenie farby alebo poradia farebných špecifikácií
štítok voliteľný reťazec parametrov alebo sekvencia reťazcov, ktoré sa zhodujú s viacerými množinami údajov
log voliteľný parameter používaný na nastavenie osi histogramu na logaritmickej stupnici

Vykreslenie histogramu v Pythone pomocou Matplotlib

Tu uvidíme rôzne metódy vykresľovania histogramu v Matplotlib v Python :

  • Základný histogram
  • Prispôsobený histogram s grafom hustoty
  • Prispôsobený histogram s vodoznakom
  • Viacnásobné histogramy s podplochami
  • Skladaný histogram
  • 2D histogram (Hexbinov graf)

Vytvorte základný histogram v Matplotlib

Vytvorme základný histogram v Matplotlib pomocou Pythonu niektorých náhodných hodnôt.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Plotting a basic histogram> plt.hist(data, bins> => 30> , color> => 'skyblue'> , edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Basic Histogram'> )> # Display the plot> plt.show()>

Výkon:

Histogram v Pythone pomocou Matplotlib

Prispôsobený histogram v Matplotlib s Density Plot

Poďme vytvoriť prispôsobený histogram s grafom hustoty pomocou Matplotlib a Seaborn v Pythone. Výsledný graf vizualizuje rozdelenie náhodných údajov s hladkým odhadom hustoty.

Python3




import> matplotlib.pyplot as plt> import> seaborn as sns> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Creating a customized histogram with a density plot> sns.histplot(data, bins> => 30> , kde> => True> , color> => 'lightgreen'> , edgecolor> => 'red'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Density'> )> plt.title(> 'Customized Histogram with Density Plot'> )> # Display the plot> plt.show()>

Výkon:

Histogram Matplotlib

Prispôsobený histogram s vodoznakom

Vytvorte prispôsobený histogram pomocou Matplotlib v Pythone so špecifickými funkciami. Zahŕňa ďalšie prvky štýlu, ako je odstránenie začiarknutí osí, pridanie výplne a nastavenie farebného prechodu pre lepšiu vizualizáciu.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> from> matplotlib> import> colors> from> matplotlib.ticker> import> PercentFormatter> # Creating dataset> np.random.seed(> 23685752> )> N_points> => 10000> n_bins> => 20> # Creating distribution> x> => np.random.randn(N_points)> y> => .> 8> *> *> x> +> np.random.randn(> 10000> )> +> 25> legend> => [> 'distribution'> ]> # Creating histogram> fig, axs> => plt.subplots(> 1> ,> 1> ,> > figsize> => (> 10> ,> 7> ),> > tight_layout> => True> )> # Remove axes splines> for> s> in> [> 'top'> ,> 'bottom'> ,> 'left'> ,> 'right'> ]:> > axs.spines[s].set_visible(> False> )> # Remove x, y ticks> axs.xaxis.set_ticks_position(> 'none'> )> axs.yaxis.set_ticks_position(> 'none'> )> > # Add padding between axes and labels> axs.xaxis.set_tick_params(pad> => 5> )> axs.yaxis.set_tick_params(pad> => 10> )> # Add x, y gridlines> axs.grid(b> => True> , color> => 'grey'> ,> > linestyle> => '-.'> , linewidth> => 0.5> ,> > alpha> => 0.6> )> # Add Text watermark> fig.text(> 0.9> ,> 0.15> ,> 'Jeeteshgavande30'> ,> > fontsize> => 12> ,> > color> => 'red'> ,> > ha> => 'right'> ,> > va> => 'bottom'> ,> > alpha> => 0.7> )> # Creating histogram> N, bins, patches> => axs.hist(x, bins> => n_bins)> # Setting color> fracs> => ((N> *> *> (> 1> /> 5> ))> /> N.> max> ())> norm> => colors.Normalize(fracs.> min> (), fracs.> max> ())> for> thisfrac, thispatch> in> zip> (fracs, patches):> > color> => plt.cm.viridis(norm(thisfrac))> > thispatch.set_facecolor(color)> # Adding extra features> plt.xlabel(> 'X-axis'> )> plt.ylabel(> 'y-axis'> )> plt.legend(legend)> plt.title(> 'Customized histogram'> )> # Show plot> plt.show()>

Výkon :

Histogram pomocou Matplotlib

Viacnásobné histogramy s podplochami

Vygenerujme dva histogramy vedľa seba pomocou Matplotlib v Pythone, každý s vlastnou sadou náhodných údajov a poskytuje vizuálne porovnanie distribúcií data1> a data2> pomocou histogramov.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for multiple histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating subplots with multiple histograms> fig, axes> => plt.subplots(nrows> => 1> , ncols> => 2> , figsize> => (> 12> ,> 4> ))> axes[> 0> ].hist(data1, bins> => 30> , color> => 'Yellow'> , edgecolor> => 'black'> )> axes[> 0> ].set_title(> 'Histogram 1'> )> axes[> 1> ].hist(data2, bins> => 30> , color> => 'Pink'> , edgecolor> => 'black'> )> axes[> 1> ].set_title(> 'Histogram 2'> )> # Adding labels and title> for> ax> in> axes:> > ax.set_xlabel(> 'Values'> )> > ax.set_ylabel(> 'Frequency'> )> # Adjusting layout for better spacing> plt.tight_layout()> # Display the figure> plt.show()>

Výkon:

Snímka obrazovky-2023-12-05-222526

Skladaný histogram pomocou Matplotlib

Poďme vygenerovať skladaný histogram pomocou Matplotlib v Pythone, ktorý predstavuje dve množiny údajov s rôznymi náhodnými distribúciami údajov. Skladaný histogram poskytuje prehľad o kombinovanej distribúcii frekvencií týchto dvoch súborov údajov.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for stacked histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating a stacked histogram> plt.hist([data1, data2], bins> => 30> , stacked> => True> , color> => [> 'cyan'> ,> 'Purple'> ], edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Stacked Histogram'> )> # Adding legend> plt.legend([> 'Dataset 1'> ,> 'Dataset 2'> ])> # Display the plot> plt.show()>

Výkon:

Snímka obrazovky-2023-12-05-222933

Nakreslite 2D histogram (Hexbin Plot) pomocou Matplotlib

Poďme vygenerovať 2D hexbinový graf pomocou Matplotlib v Pythone, poskytuje vizuálnu reprezentáciu 2D distribúcie údajov, kde šesťuholníky vyjadrujú hustotu údajových bodov. Farebná lišta pomáha interpretovať hustotu bodov v rôznych oblastiach grafu.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random 2D data for hexbin plot> x> => np.random.randn(> 1000> )> y> => 2> *> x> +> np.random.normal(size> => 1000> )> # Creating a 2D histogram (hexbin plot)> plt.hexbin(x, y, gridsize> => 30> , cmap> => 'Blues'> )> # Adding labels and title> plt.xlabel(> 'X values'> )> plt.ylabel(> 'Y values'> )> plt.title(> '2D Histogram (Hexbin Plot)'> )> # Adding colorbar> plt.colorbar()> # Display the plot> plt.show()>

Výkon:

Snímka obrazovky-2023-12-05-222826

Záver

Vykresľovanie histogramov Matplotlib je jednoduchý a priamočiary proces. Pomocou hist()> môžeme jednoducho vytvárať histogramy s rôznymi šírkami a hranami priehradiek. Vzhľad histogramov môžeme tiež prispôsobiť našim potrebám