Hist bins range python

Метод Matplotlib.pyplot.hist() в Python — как построить гистограмму

matplotlib.pyplot.hist() — это библиотечная функция matplotlib в Python, которая создает гистограмму для заданной точки и строит график в качестве вывода.

Синтаксис

Параметры

Функция matplotlib.pyplot.hist() имеет один обязательный аргумент в качестве параметра:

  1. x: обязательный аргумент. Принимает массив в качестве значения. Этот массив состоит из точек.
  2. bins: этот аргумент принимает целое число или последовательность целых чисел в качестве значения. Этот аргумент является необязательным. По умолчанию ему присвоено значение 10.
  3. range: это необязательный аргумент. Если нижнее значение и верхнее значение указаны в аргументе диапазона, значения меньше нижнего значения и больше верхнего значения не будут отображаться на графике. По умолчанию предоставляется с минимальными значениями для нижнего и максимальным для верхнего значения.
  4. density: принимает логическое значение. Функция плотности вероятности возвращается, если это значение передается как True. По умолчанию это передается как False. data: объект с помеченными данными передается в качестве аргумента. Это необязательный аргумент.
  5. weights: необязательный аргумент. Может быть передан с массивом значений. Форма этого массива должна быть равна форме массива x.
  6. cumulative: необязательный аргумент. Принимает логическое значение в качестве значения аргумента. Если это передается как True, то значение каждой ячейки добавляется к значению предыдущей ячейки, а общая оценка сохраняется как значение ячейки.
  7. bottom: необязательный аргумент. Этот аргумент принимает значения в массиве и состоит из мест, где должен располагаться бункер.
  8. histtype: необязательный аргумент. Принимает строковые значения. Представляет тип гистограммы, которую необходимо построить. Значения могут быть столбчатыми, ступенчатыми или ступенчато заполненными.
  9. align: этот аргумент представляет выравнивание графика. У него есть такие значения, как левое, правое и среднее.
  10. orientation: это значение описывает ориентацию графика, имеет такие значения, как вертикальное и горизонтальное. По умолчанию он остается вертикальным.
  11. rwidth: это относительная ширина полос. По умолчанию сохраняется значение «None».
  12. log: в качестве аргумента принимает логическое значение. Если это True, то масштаб устанавливается в логарифмическом масштабе.
  13. color: цвета для графика передаются в этом аргументе. Цвета также можно передавать в массиве.
  14. label: эта строка аргумента в качестве входных данных. Если на этом этапе используется несколько наборов данных, первые данные получают метку, переданную в этом аргументе.
  15. stacked: в качестве значения этого аргумента принимает логическое значение. Если true, то несколько значений накладываются друг на друга.
Читайте также:  Strong html font size

Возвращаемое значение

Функция matplotlib.pyplot.hist() возвращает массив из n элементов. Затем он возвращает массив бинов. Наконец, он также возвращает массив patches.

Источник

Plotting a Histogram in Python with Matplotlib and Pandas

Create histogram with Python Pandas Matplotlib

A histogram is a chart that uses bars represent frequencies which helps visualize distributions of data.

In this post, you’ll learn how to create histograms with Python, including Matplotlib and Pandas.

Video Tutorial

What is a Histogram?

A histogram is a chart that uses bars represent frequencies which helps visualize distributions of data.

Bars can represent unique values or groups of numbers that fall into ranges. The taller the bar, the more data falls into that range.

The shape of the histogram displays the spread of a continuous sample of data.

If you want to learn how to create your own bins for data, you can check out my tutorial on binning data with Pandas.

The histogram can turn a frequency table of binned data into a helpful visualization:

Describing what a histogram is with a table of frequencies and the resulting histogram.

Loading our Dataset

Let’s begin by loading the required libraries and our dataset. We can then create histograms using Python on the age column, to visualize the distribution of that variable.

import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('https://github.com/datagy/Intro-to-Python/raw/master/sportsdata.xls', usecols=['Age']) print(df.describe()) # Returns: # Age # count 5000.000000 # mean 25.012200 # std 5.013849 # min 4.000000 # 25% 22.000000 # 50% 25.000000 # 75% 28.000000 # max 43.000000

We can see from the data above that the data goes up to 43. It might make sense to split the data in 5-year increments.

Creating a Histogram in Python with Matplotlib

To create a histogram in Python using Matplotlib, you can use the hist() function.

This hist function takes a number of arguments, the key one being the bins argument, which specifies the number of equal-width bins in the range.

Tip! If you’re working in the Jupyter environment, be sure to include the %matplotlib inline Jupyter magic to display the histogram inline.

The easiest way to create a histogram using Matplotlib, is simply to call the hist function:

This returns the histogram with all default parameters:

A simple Matplotlib Histogram.

Define Matplotlib Histogram Bin Size

You can define the bins by using the bins= argument. This accepts either a number (for number of bins) or a list (for specific bins).

If you wanted to let your histogram have 9 bins, you could write:

This creates the following image:

Create a histogram in Python with Matplotlib.

Define Matplotlib Histogram Bins

If you want to be more specific about the size of bins that you have, you can define them entirely. For example, if you wanted your bins to fall in five year increments, you could write:

plt.hist(df['Age'], bins=[0,5,10,15,20,25,35,40,45,50])

This allows you to be explicit about where data should fall. This code returns the following:

Defining bin edges in Matplotlib histograms.

Limit Matplotlib Histogram Bins

You can also use the bins to exclude data. If you were only interested in returning ages above a certain age, you can simply exclude those from your list.

For example, if you wanted to exclude ages under 20, you could write:

plt.hist(df['Age'], bins=[20,25,35,40,45,50])

Excluding bins in Matplotlib Histograms

Matplotlib Histogram Logarithmic Scale

If your data has some bins with dramatically more data than other bins, it may be useful to visualize the data using a logarithmic scale. This can be accomplished using the log=True argument:

plt.hist(df['Age'], bins=range(0,55,5), log=True)

This returns the following image:

Logarithmic Scales in Matplotlib Histograms.

Changing Matplotlib Histogram Appearance

In order to change the appearance of the histogram, there are three important arguments to know:

  • align: accepts mid, right, left to assign where the bars should align in relation to their markers
  • color: accepts Matplotlib colors, defaulting to blue, and
  • edgecolor: accepts Matplotlib colors and outlines the bars

To change the alignment and color of the histogram, we could write:

plt.hist(df['Age'], bins=9, align='right', color='purple', edgecolor='black')

This generates the following histogram:

Customizing a Matplotlib histogram.

To learn more about the Matplotlib hist function, check out the official documentation.

Creating a Histogram in Python with Pandas

When working Pandas dataframes, it’s easy to generate histograms. Pandas integrates a lot of Matplotlib’s Pyplot’s functionality to make plotting much easier.

Pandas histograms can be applied to the dataframe directly, using the .hist() function:

This generates the histogram below:

Creating a histogram in Pandas.

We can further customize it using key arguments including:

  • column: since our dataframe only has one column, this isn’t necessary
  • grid: defaults to True
  • bins: defaults to 10

Let’s change our code to include only 9 bins and removes the grid:

This returns the dataframe below:

Modifying a histogram in Pandas.

You can also add titles and axis labels by using the following:

df.hist(grid=False, bins=9) plt.xlabel('Age of Players') plt.ylabel('# of Players') plt.title('Age Distribution')

Which returns the following:

Modifying a histogram using Pandas by adding titles.

Similarly, if you want to define the actual edge boundaries, you can do this by including a list of values that you want your boundaries to be.

This can be sped up by using the range() function:

df.hist(grid=False, bins=range(0,55,5)) plt.xlabel('Age of Players')ac plt.ylabel('# of Players') plt.title('Age Distribution')

This returns the following:

Customizing bin edges in a Pandas histogram.

If you want to learn more about the function, check out the official documentation.

Conclusion

In this post, you learned what a histogram is and how to create one using Python, including using Matplotlib, Pandas, and Seaborn. Each of these libraries come with unique advantages and drawbacks. If you’re looking for a more statistics-friendly option, Seaborn is the way to go.

To learn more about related topics, check out the tutorials below:

Источник

Оцените статью