Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

  1. Làm thế nào để
  2. Python matplotlib howto's
  3. Tạo biểu đồ được chuẩn hóa bằng cách sử dụng python matplotlib

Đã tạo: tháng 12 đến ngày 20 tháng 12 năm 2021

Biểu đồ là phân phối tần số mô tả tần số của các yếu tố khác nhau trong bộ dữ liệu. Biểu đồ này thường được sử dụng để nghiên cứu các tần số và xác định cách các giá trị được phân phối trong bộ dữ liệu.

Bình thường hóa biểu đồ đề cập đến việc ánh xạ tần số của bộ dữ liệu giữa phạm vi [0, 1] cả hai bao gồm. Trong bài viết này, chúng ta sẽ học cách tạo biểu đồ chuẩn hóa trong Python.

Tạo biểu đồ được chuẩn hóa bằng thư viện Matplotlib trong Python

Mô -đun Matplotlib là một mô -đun Python toàn diện để tạo các ô tĩnh và tương tác. Đây là một gói rất mạnh mẽ và đơn giản được sử dụng rộng rãi trong khoa học dữ liệu cho mục đích trực quan hóa. Matplotlib có thể được sử dụng để tạo biểu đồ chuẩn hóa. Mô -đun này có chức năng hist(). được sử dụng để tạo biểu đồ. Sau đây là định nghĩa hàm của phương thức hist().

matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)

Sau đây là một lời giải thích ngắn gọn về các đối số mà chúng tôi sẽ sử dụng để tạo biểu đồ chuẩn hóa.

  • import matplotlib.pyplot as plt
    
    x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
    plt.hist(x, density = True, color = "green", label = "Numbers")
    plt.legend()
    plt.show()
    
    1: Một danh sách, một tuple hoặc một mảng giá trị đầu vào.
  • import matplotlib.pyplot as plt
    
    x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
    plt.hist(x, density = True, color = "green", label = "Numbers")
    plt.legend()
    plt.show()
    
    2: Một lá cờ Boolean để vẽ các giá trị chuẩn hóa. Theo mặc định, đó là
    import matplotlib.pyplot as plt
    
    x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
    plt.hist(x, density = True, color = "green", label = "Numbers")
    plt.legend()
    plt.show()
    
    3.
  • import matplotlib.pyplot as plt
    
    x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
    plt.hist(x, density = True, color = "green", label = "Numbers")
    plt.legend()
    plt.show()
    
    4: Màu sắc của các thanh trong biểu đồ.
  • import matplotlib.pyplot as plt
    
    x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
    plt.hist(x, density = True, color = "green", label = "Numbers")
    plt.legend()
    plt.show()
    
    5: Một nhãn cho các giá trị được vẽ.

Tham khảo mã Python sau để tạo biểu đồ chuẩn hóa.

import matplotlib.pyplot as plt

x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
plt.hist(x, density = True, color = "green", label = "Numbers")
plt.legend()
plt.show()

Output:

Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

Chúng ta có thể bình thường hóa một biểu đồ trong matplotlib bằng đối số từ khóa

import matplotlib.pyplot as plt

x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
plt.hist(x, density = True, color = "green", label = "Numbers")
plt.legend()
plt.show()
6 và đặt nó thành
import matplotlib.pyplot as plt

x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
plt.hist(x, density = True, color = "green", label = "Numbers")
plt.legend()
plt.show()
7. Bằng cách bình thường hóa một biểu đồ, tổng của khu vực thanh bằng 1.

Hãy xem xét biểu đồ dưới đây nơi chúng ta bình thường hóa dữ liệu:

import matplotlib.pyplot as plt

x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
plt.hist(x, density = True, color = "green", label = "Numbers")
plt.legend()
plt.show()
8

import matplotlib.pyplot as plt

x = [1, 9, 5, 7, 1, 1, 2, 4, 9, 9, 9, 3, 4, 5, 5, 5, 6, 5, 5, 7]
plt.hist(x, density = True, color = "green", label = "Numbers")
plt.legend()
plt.show()
9

 import numpy as np

 def plotGraph():
   
    import matplotlib.pyplot as plt
    
    k=(1,4,3,1)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  
    
plotGraph()
0

Biểu đồ chuẩn hóa:

Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

Đây là một câu hỏi tiếp theo cho câu trả lời này. Tôi đang cố gắng vẽ biểu đồ theo biểu đồ được định mức, nhưng thay vì nhận được 1 làm giá trị tối đa trên trục y, tôi sẽ nhận được các số khác nhau.

Cho mảng k = (1,4,3,1)

 import numpy as np

 def plotGraph():
   
    import matplotlib.pyplot as plt
    
    k=(1,4,3,1)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  
    
plotGraph()

Tôi nhận được biểu đồ này, điều đó không giống như Normed.

Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

Cho một mảng khác k = (3,3,3,3)

 import numpy as np

 def plotGraph():
   
    import matplotlib.pyplot as plt
    
    k=(3,3,3,3)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  
    
plotGraph()

Tôi nhận được biểu đồ này với giá trị tối đa y là 10.

Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

Đối với k khác nhau, tôi nhận được giá trị tối đa khác nhau của y mặc dù Normed = 1 hoặc Normed = true.

Tại sao việc chuẩn hóa (nếu nó hoạt động) thay đổi dựa trên dữ liệu và làm thế nào tôi có thể tạo giá trị tối đa của Y bằng 1?

UPDATE:

Tôi đang cố gắng thực hiện câu trả lời của Carsten König từ việc vẽ biểu đồ có độ cao thanh tổng lên 1 trong matplotlib và nhận được kết quả rất kỳ lạ:

import numpy as np

def plotGraph():

    import matplotlib.pyplot as plt

    k=(1,4,3,1)

    weights = np.ones_like(k)/len(k)
    plt.hist(k, weights=weights)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  

plotGraph()

Result:

Hướng dẫn how do you create a normalized histogram in python? - làm thế nào để bạn tạo một biểu đồ chuẩn hóa trong python?

Tôi đang làm gì sai?

Làm thế nào để bạn tạo ra một biểu đồ chuẩn hóa?

Steps:..
Đọc hình ảnh ..
Chuyển đổi hình ảnh màu thành thang độ xám ..
Hiển thị biểu đồ ..
Quan sát cường độ tối đa và tối thiểu từ biểu đồ ..
Thay đổi loại hình ảnh từ Uint8 thành Double ..
Áp dụng một công thức cho bình thường hóa biểu đồ ..
Chuyển đổi trở lại định dạng đơn vị ..
Hiển thị hình ảnh và biểu đồ sửa đổi ..

Làm thế nào để bạn bình thường hóa một biểu đồ trong matplotlib?

Chúng ta có thể bình thường hóa một biểu đồ trong matplotlib bằng cách sử dụng đối số từ khóa mật độ và đặt nó thành true. Bằng cách bình thường hóa một biểu đồ, tổng của khu vực thanh bằng 1.using the density keyword argument and setting it to True . By normalizing a histogram, the sum of the bar area equals 1.

Làm thế nào để bạn bình thường hóa dữ liệu trong Python?

Sử dụng MinMaxScaler () để bình thường hóa dữ liệu trong Python Đây là một lựa chọn phổ biến hơn để bình thường hóa các bộ dữ liệu.Bạn có thể thấy rằng các giá trị trong đầu ra nằm giữa (0 và 1).MinMaxScaler cũng cung cấp cho bạn tùy chọn để chọn phạm vi tính năng.Theo mặc định, phạm vi được đặt thành (0,1). to Normalize Data in Python This is a more popular choice for normalizing datasets. You can see that the values in the output are between (0 and 1). MinMaxScaler also gives you the option to select feature range. By default, the range is set to (0,1).

Nó có nghĩa là gì nếu một biểu đồ được bình thường hóa?

Số lượng chuẩn hóa là số lượng trong một lớp chia cho tổng số quan sát.Trong trường hợp này, số lượng tương đối được chuẩn hóa thành một (hoặc 100 nếu sử dụng thang tỷ lệ phần trăm).Đây là trường hợp trực quan trong đó chiều cao của thanh biểu đồ biểu thị tỷ lệ của dữ liệu trong mỗi lớp.the count in a class divided by the total number of observations. In this case the relative counts are normalized to sum to one (or 100 if a percentage scale is used). This is the intuitive case where the height of the histogram bar represents the proportion of the data in each class.