Con trăn ptl

Histogram is a number of data. Nó ước lượng phân phối hiệu suất của một biến liên tục và là một dạng biểu đồ thanh

Để tạo biểu đồ, hãy thực hiện theo các bước sau

  • Bin phạm vi giá trị
  • Chia toàn bộ phạm vi giá trị thành một chuỗi các khoảng
  • Đếm xem có bao nhiêu giá trị rơi vào mỗi khoảng

Các thùng thường được định nghĩa chỉ là các khoảng liên tiếp, không chồng chéo của một biến

Hàm matplotlib. pyplot. hist [] vẽ một biểu đồ, tính toán và vẽ biểu đồ của x

Tham số

Sau bảng liệt kê các tham số cho biểu đồ

xmảng hoặc chuỗi các mảngbinssố nguyên hoặc chuỗi hoặc 'tự động', tùy chọn

Tùy chọn thông số

rangePhạm vi bên dưới và trên của bindensityNếu đúng, phần tử đầu tiên của bộ giá trị trả về sẽ là số đếm được chuẩn hóa để tạo thành mật độ xác thựctích lũyNếu đúng, thì biểu đồ được tính toán trong đó mỗi thùng cung cấp số lượng trong đó . Default is 'bar'

Ví dụ sau khi vẽ biểu đồ về điểm của các học sinh trong một lớp học. Bốn thùng, 0-25, 26-50, 51-75 và 76-100 đã được xác định. Biểu đồ cho thấy số học sinh rơi vào phạm vi này

from matplotlib import pyplot as plt
import numpy as np
fig,ax = plt.subplots[1,1]
a = np.array[[22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]]
ax.hist[a, bins = [0,25,50,75,100]]
ax.set_title["histogram of result"]
ax.set_xticks[[0,25,50,75,100]]
ax.set_xlabel['marks']
ax.set_ylabel['no. of students']
plt.show[]

Cốt truyện xuất hiện dưới dạng hình dưới đây -

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 nhóm tuổi nhất, số ca sinh trong một và v.v. Đó là một cách tuyệt vời để mô 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 ta cũng có thể sử dụng để thao túng hoặc nói dối thông qua thống kê

Biểu đồ là gì? . Đây là một đại diện đồ họa của một phân bố tần số 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 biểu đồ, chúng ta sẽ bắt đầu phân loại 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. Chúng tôi tạo một biểu đồ 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]

>>>

Chúng ta có thể tùy chỉnh bin number


>>> plt.hist[gaussian_numbers, bins=100]

>>> plt.show[]

Một tham số quan trọng khác của lịch sử là "chuẩn". "normed" is option and default value is '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 tính theo mức bình thường để tạo thành mức độ xác thực mật khẩu


>>> plt.hist[gaussian_numbers, bins=100, normed=True]
>>> plt.show[]

>>>

Nếu cả hai tham số ‘normed’ và 'stacked' đều được đặt thành 'True', thì tổng biểu đồ được chuẩn hóa 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 bức vẽ với giá trị tăng tiến?

>>> plt.hist[gaussian_numbers,

...          bins=100,

...          normed=True,

...          stacked=True,

...          cumulative=True]

>>> plt.show[]

Thực hiện hành động với biểu đồ thanh thông 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[]

Biểu đồ hai chiều và Binnings

Giống như ta tạo biểu đồ 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 biểu đồ 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 để thực hiện đ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 biến đa biến Gaussian

>>> 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ẽ biểu đồ hai chiều là sử dụng Matplotlib

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

>>>
0

Hai chiều chart chart được tạo ra từ một tesselation của hình vuông qua các thành phần. Một hình dạng tự nhiên khác cho công 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 thêm vào trong một ô lưới lục giác

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

>>>
1

Kết luận

Ở cuối bài học này, bạn đã đọc được cách 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 mang đến cho người đọc nhiều lựa chọn lựa chọn biểu diễn kèm theo các cách thay đổi tương thích nhất

Chủ Đề