Hướng dẫn dùng histogram maker python

Thật khó tưởng tượng rằng bạn mở một tờ báo hoặc tạp chí mà không thấy một số biểu đồ cho bạn biết về số người hút thuốc trong các nhóm tuổi nhất định, số ca sinh trong một năm và vv. Đó là một cách tuyệt vời để miêu tả các sự kiện mà không cần phải sử dụng quá nhiều từ, nhưng về mặt hạn chế, chúng cũng có thể được sử dụng để thao túng hoặc nói dối qua thống kê.

Nội dung chính

  • How do you create a histogram using Python?
  • How to draw a Matplotlib histogram in Python with pandas?
  • What is the range of hist () function in Python?
  • How to create a fine

Nội dung chính

  • How do you create a histogram using Python?
  • How to draw a Matplotlib histogram in Python with pandas?
  • What is the range of hist () function in Python?
  • How to create a fine

Histogram là gì? Một định nghĩa chính thức có thể là: Đây là một đại diện đồ họa của một phân bố tần suất của một số dữ liệu số. Hình chữ nhật có kích thước bằng nhau theo hướng ngang có chiều cao tương ứng với tần suất.

Nếu chúng ta xây dựng một histogram, chúng ta sẽ bắt đầu phân bố phạm vi của các giá trị x có thể vào các khoảng hoặc thùng chứa thường có kích thước bằng nhau và liền kề.

Bây giờ chúng ta bắt đầu với một chương trình Python thực tiễn. Chúng tôi tạo một histogram với các số ngẫu nhiên:

>>> import matplotlib.pyplot as plt

>>> import numpy as np

>>> gaussian_numbers = np.random.normal(size=1000)

>>> plt.hist(gaussian_numbers)

(array([  10.,   29.,  118.,  231.,  265.,  221.,  100.,   22.,    3.,    1.]), array([-3.09815172, -2.40020948, -1.70226724, -1.00432499, -0.30638275,

        0.39155949,  1.08950174,  1.78744398,  2.48538622,  3.18332846,

        3.88127071]), )

>>> plt.title("Gaussian Histogram")



>>> plt.xlabel("Value")



>>> plt.ylabel("Frequency")



>>> plt.show()

>>> n, bins, patches = plt.hist(gaussian_numbers)

>>> print("n: ", n, sum(n))

('n: ', array([  10.,   29.,  118.,  231.,  265.,  221.,  100.,   22.,    3.,    1.]), 1000.0)

>>> print("bins: ", bins)

('bins: ', array([-3.09815172, -2.40020948, -1.70226724, -1.00432499, -0.30638275,

        0.39155949,  1.08950174,  1.78744398,  2.48538622,  3.18332846,

        3.88127071]))

>>> print("patches: ", patches)

('patches: ', )

>>> print(patches[1])

Rectangle(-2.40021,0;0.697942x29)

>>>

Hướng dẫn dùng histogram maker python

Chúng ta có thể tùy chỉnh số bin.


>>> plt.hist(gaussian_numbers, bins=100)

>>> plt.show()

Một tham số quan trọng khác của hist là "normed". "normed" là tùy chọn và giá trị mặc định là 'False'. Nếu nó được đặt thành 'True', phần tử đầu tiên của bộ dữ liệu trả về sẽ được đếm bình thường để tạo thành mật độ xác suất.


>>> plt.hist(gaussian_numbers, bins=100, normed=True)
>>> plt.show()

>>>

Nếu cả hai tham số ‘normed’ và 'stacked' được đặt thành 'True', tổng của biểu đồ được normalized thành 1.

>>> plt.hist(gaussian_numbers,

...          bins=100,

...          normed=True,

...          stacked=True,

...          edgecolor="#6A9662",

...          color="#DDFFDD")

>>> plt.show()

Nếu bạn muốn xem nó như mô tả một hình vẽ với giá trị lũy tiến? Chúng ta có thể vẽ nó như một hàm phân phối lũy tiến bằng cách thiết lập tham số 'cumulative'.

>>> plt.hist(gaussian_numbers,

...          bins=100,

...          normed=True,

...          stacked=True,

...          cumulative=True)

>>> plt.show()

Thực hành với bar plot qua phương thức bar().

>>> bars = plt.bar([1,2,3,4], [1,4,9,16])

>>> bars[0].set_color('green')

>>> plt.show()

>>>
Và cách thiết lập màu riêng cho các bar để tạo điểm nhấn qua hàm set_color(). Để có đượng bar tương ứng ta dùng hàm get_children() của lớp Axis
>>> ax=f.add_subplot(1,1,1)

>>> ax.bar([1,2,3,4], [1,4,9,16])



>>> children = ax.get_children()

>>> children[2].set_color('g')

>>> plt.show()

Two-Dimensional Histograms and Binnings

Giống như ta tạo histogram trong một chiều bằng cách chia dữ liệu vào thùng, chúng ta cũng có thể tạo histogram theo hai chiều bằng cách chia điểm giữa các thùng chứa hai chiều. Chúng ta sẽ xem xét một số cách để làm điều này ở đây. Chúng ta sẽ bắt đầu bằng cách xác định một số dữ liệu-mảng x và y được rút ra từ một phân bố Gaussian đa biến:

>>> import numpy as np

>>> import matplotlib.pyplot as plt

>>> mean = [0, 0]

>>> cov = [[1, 1], [1, 2]]

>>> x, y = np.random.multivariate_normal(mean, cov, 10000).T

Một cách đơn giản để vẽ histogram hai chiều là sử dụng Matplotlib.

>>> plt.hist2d(x, y, bins=30, cmap='Blues')

>>> cb = plt.colorbar()

>>> cb.set_label('counts in bin')

>>> plt.show()

Biểu đồ histogram hai chiều tạo ra một tesselation của hình vuông qua các trục. Một hình dạng tự nhiên khác cho việc tesselation là hình lục giác thông thường. Với mục đích này, Matplotlib cung cấp phương thức plt.hexbin, nó sẽ đại diện cho một bộ dữ liệu hai chiều được chèn trong một ô lưới lục giác:


plt.hexbin(x, y, gridsize=30, cmap='Blues')



>>> cb = plt.colorbar(label='count in bin')

>>> plt.show()

Kết Luận

Kết thúc bài học này, bạn đọc đã thu được cách thức vẽ biểu đồ tần số (Histogram) đối với dữ liệu 1-D & 2-D. Bài học cũng cố gắng đưa đến người đọc nhiều lựa chọn biểu diễn kèm theo các cách thay đổi tương tứng nhất.

How do you create a histogram using Python?

We can then create histograms using Python on the age column, to visualize the distribution of that variable. 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. To create a histogram in Python using Matplotlib, you can use the hist () function.

How to draw a Matplotlib histogram in Python with pandas?

Staying in Python’s scientific stack, Pandas’ Series.histogram () uses matplotlib.pyplot.hist () to draw a Matplotlib histogram of the input Series: pandas.DataFrame.histogram () is similar but produces a histogram for each column of data in the DataFrame. In this tutorial, you’ve been working with samples, statistically speaking.

What is the range of hist () function in Python?

Once the hist () function is called, it reads the data and generates a histogram. It defines the array which has to be computed. It is an optional parameter and it is represented either in integer or sequence or ‘auto’. Range indicates the lower and upper range and it is one of the optional parameters.

How to create a fine

Create a highly customizable, fine-tuned plot from any data structure. pyplot.hist () is a widely used histogram plotting function that uses np.histogram () and is the basis for Pandas’ plotting functions. Matplotlib, and especially its object-oriented framework, is great for fine-tuning the details of a histogram.