Hướng dẫn dùng create histograms python - use tạo biểu đồ 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]), <a list of 10 Patch objects>)

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

<matplotlib.text.Text object at 0x000000000E0562B0>

>>> plt.xlabel("Value")

<matplotlib.text.Text object at 0x0000000005970668>

>>> plt.ylabel("Frequency")

<matplotlib.text.Text object at 0x000000000EDD20F0>

>>> 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: ', <a list of 10 Patch objects>)

>>> print(patches[1])

Rectangle(-2.40021,0;0.697942x29)

>>>

Hướng dẫn dùng create histograms python - use tạo biểu đồ 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])

<Container object of 4 artists>

>>> children = ax.get_children()

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

>>> 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])

<Container object of 4 artists>

>>> 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.hist(gaussian_numbers, bins=100)

>>> plt.show()
0

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?

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

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

How to create a fine

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.