Tôi đã có vấn đề tương tự như OP (tôi nghĩ!), Nhưng tôi không thể làm cho nó hoạt động theo cách mà Lastalda chỉ định. Tôi không biết nếu tôi đã giải thích đúng câu hỏi, nhưng tôi đã tìm thấy một giải pháp khác (có lẽ đó là một cách thực sự tồi tệ để làm điều đó).
Đây là cách mà tôi đã làm điều đó:
plt.hist([1,11,21,31,41], bins=[0,10,20,30,40,50], weights=[10,1,40,33,6]);
Điều này tạo ra điều này:
Vì vậy, tham số đầu tiên về cơ bản 'khởi tạo' thùng - Tôi đặc biệt tạo một số nằm giữa phạm vi tôi đặt trong tham số Bins.
Để chứng minh điều này, hãy xem mảng trong tham số đầu tiên ([1,11,21,31,41]) và mảng 'thùng' trong tham số thứ hai ([0,10,20,30,40,50]) :
- Số 1 (từ mảng đầu tiên) rơi vào giữa 0 đến 10 (trong mảng 'thùng')
- Số 11 (từ mảng đầu tiên) rơi vào khoảng từ 11 đến 20 (trong mảng 'thùng')
- Số 21 (từ mảng đầu tiên) rơi vào khoảng từ 21 đến 30 (trong mảng 'thùng'), v.v.
Sau đó, tôi đang sử dụng tham số 'trọng số' để xác định kích thước của mỗi thùng. Đây là mảng được sử dụng cho tham số trọng số: [10,1,40,33,6].
Vì vậy, thùng 0 đến 10 được cho giá trị 10, thùng 11 đến 20 được cho giá trị 1, thùng 21 đến 30 được cho giá trị 40, v.v.
Điều kiện tiên quyết: matplotlibMatplotlib
Biểu đồ là một biểu diễn đồ họa của phân phối dữ liệu được đưa ra bởi người dùng. Sự xuất hiện của nó tương tự như thanh bar ngoại trừ nó liên tục.
Các tháp hoặc thanh của biểu đồ được gọi là thùng. Chiều cao của mỗi thùng cho thấy có bao nhiêu giá trị từ dữ liệu đó rơi vào phạm vi đó. & NBSP;
Chiều rộng của mỗi thùng là = (giá trị tối đa của dữ liệu - giá trị tối thiểu của dữ liệu) / tổng số thùng & nbsp;
Giá trị mặc định của số lượng thùng được tạo trong biểu đồ là 10. Tuy nhiên, chúng ta có thể thay đổi kích thước của các thùng bằng các thùng tham số trong matplotlib.pyplot.hist (). & Nbsp;
Phương pháp 1: & NBSP;
Chúng ta có thể vượt qua một số nguyên trong các thùng cho biết có bao nhiêu thùng/tháp được tạo ra trong biểu đồ và chiều rộng của mỗi thùng sau đó được thay đổi theo đó.
Ví dụ 1 :
Python3
import matplotlib.pyplot as plt
height = [189, 185____7______10______import2
matplotlib.pyplot as plt0matplotlib.pyplot as plt1, matplotlib.pyplot as plt3, import0, matplotlib.pyplot as plt7, matplotlib.pyplot as plt9, height 1, height 3import9
matplotlib.pyplot as plt0height 6, height 8, =0, =2, =4, height 8, =8import9
Các
[7=[91890=18921893
1894
Đầu ra:
Ở đây, các thùng = 5, tức là số lượng thùng được tạo là 5. Đặt thùng thành một số nguyên tạo ra các thùng có kích thước hoặc chiều rộng bằng nhau. Khi kích thước thùng được thay đổi nên chiều rộng thùng sẽ được thay đổi tương ứng như:
chiều rộng = (195 - 140) / 5 = 11
Ví dụ 2:
Python3
import matplotlib.pyplot as plt
height = [189, 185____7______10______import2
matplotlib.pyplot as plt01855, 1857, , 6, , 1, , 3, , 51853
matplotlib.pyplot as plt0, 8, import00, 1857, import04, , 1, import081853
Các
matplotlib.pyplot as plt01855, import28, import30, import32, 1855[6
import36=import38import39=import41import42=import441893
1894
Đầu ra:
Ở đây, các thùng = 5, tức là số lượng thùng được tạo là 5. Đặt thùng thành một số nguyên tạo ra các thùng có kích thước hoặc chiều rộng bằng nhau. Khi kích thước thùng được thay đổi nên chiều rộng thùng sẽ được thay đổi tương ứng như:
chiều rộng = (195 - 140) / 5 = 11
Ví dụ 2:
1897= [, 0____________, 2__77474747476
Các
Trong biểu đồ trên, chiều rộng của mỗi thùng là:
chiều rộng = (145 - 51) / 7 & nbsp; = 13.4
Phương pháp 2: Equal bin width
Python3
import matplotlib.pyplot as plt
height = [189, 185____7______10______import2
import68import52, import71, 1892, import71, import56, import54, 1892, import71import9
import681892, import71, 1892, import56, import54, import52, 1892[6
Các
1894
Đầu ra:
Ví dụ 2: Chiều rộng bin không đồng đềuUnequal bin width
Python3
import matplotlib.pyplot as plt
matplotlib.pyplot as plt19= [189____________185________import010________import2
matplotlib.pyplot as plt34import8, matplotlib.pyplot as plt1, matplotlib.pyplot as plt3, import0, matplotlib.pyplot as plt7, matplotlib.pyplot as plt91853
matplotlib.pyplot as plt34height 1, height 3, height 6, height 8, =0, =2import9
Các
matplotlib.pyplot as plt73=[=0, matplotlib.pyplot as plt78, matplotlib.pyplot as plt80, matplotlib.pyplot as plt82, 185, matplotlib.pyplot as plt86matplotlib.pyplot as plt87
import68matplotlib.pyplot as plt89=import41import42=matplotlib.pyplot as plt941893
1894
Output:
Phương pháp 3:
Để truyền một chuỗi trong tham số Bins, chúng tôi cũng có thể sử dụng hàm phạm vi cho các thùng được phân phối bằng nhau. Trong phạm vi (), điểm bắt đầu là tối thiểu của dữ liệu, điểm cuối là tối đa của dữ liệu + chiều rộng bin được đề cập, như trong phạm vi (), điểm cuối không được bao gồm và bước là chiều rộng bin. & NBSP;
Vì bước được cố định trong phạm vi (), chúng ta nhận được các thùng có kích thước bằng nhau trong biểu đồ.
Thí dụ :
Python3
import matplotlib.pyplot as plt
matplotlib.pyplot as plt19= [189____________185________import010________import2
matplotlib.pyplot as plt341857, , 6, , 1, , 3, , 5, , 8, import001853
Các
matplotlib.pyplot as plt34import19, import21, import23, 1855, import28, import30, height 63import9
matplotlib.pyplot as plt34height 66, height 68, height 70, height 72, import32, 1855[6
Phương pháp 3:
Để truyền một chuỗi trong tham số Bins, chúng tôi cũng có thể sử dụng hàm phạm vi cho các thùng được phân phối bằng nhau. Trong phạm vi (), điểm bắt đầu là tối thiểu của dữ liệu, điểm cuối là tối đa của dữ liệu + chiều rộng bin được đề cập, như trong phạm vi (), điểm cuối không được bao gồm và bước là chiều rộng bin. & NBSP;
import68matplotlib.pyplot as plt89=import41import42=height 971893
1894
Đầu ra: