Đã 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 Mô -đun 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. Tham khảo mã Python sau để tạo biểu đồ chuẩn hóa. Output:[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 PythonMatplotlib
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]
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ẽ.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[]
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[]
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[]
8import 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[]
0Biểu đồ chuẩn hóa:
Đâ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.
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.
Đố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:
Tôi đang làm gì sai?