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______import
2
matplotlib.pyplot as plt
0matplotlib.pyplot as plt
1,
matplotlib.pyplot as plt
3,
import
0,
matplotlib.pyplot as plt
7,
matplotlib.pyplot as plt
9,
height
1,
height
3import
9
matplotlib.pyplot as plt
0height
6,
height
8,
=
0,
=
2,
=
4,
height
8,
=
8import
9
Các
[
7=
[
9189
0=
189
2189
3
189
4
Đầ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______import
2
matplotlib.pyplot as plt
0185
5,
185
7,
,
6,
,
1,
,
3,
,
5185
3
matplotlib.pyplot as plt
0,
8,
import
00,
185
7,
import
04,
,
1,
import
08185
3
Các
matplotlib.pyplot as plt
0185
5,
import
28,
import
30,
import
32,
185
5[
6
import
36=
import
38import
39=
import
41import
42=
import
44189
3
189
4
Đầ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:
189
7=
[
,
0____________,
2__77474747476
Các
Do đó, tất cả các thùng là nửa mở [A, B] nhưng thùng cuối cùng được đóng [A, B]. Đối với những trường hợp như vậy, chiều rộng của mỗi thùng là bằng nhau.
Nếu sự khác biệt giữa mỗi phần tử của chuỗi được gán cho các thùng không bằng nhau thì chiều rộng của mỗi thùng là khác nhau, do đó chiều rộng thùng phụ thuộc vào trình tự.
Ví dụ 1: Chiều rộng BIN bằng nhau Equal bin width
Python3
import
matplotlib.pyplot as plt
import
49=
[
import
52,
import
54,
import
56______
import
68import
52,
import
71,
189
2,
import
71,
import
56,
import
54,
189
2,
import
71import
9
import
68189
2,
import
71,
189
2,
import
56,
import
54,
import
52,
189
2[
6
Các
189
4
Đầu ra:
Ví dụ 2: Chiều rộng bin không đồng đềuUnequal bin width
Python3
import
matplotlib.pyplot as plt
import
49=
[
import
52,
import
54,
import
56______
matplotlib.pyplot as plt
34import
8,
matplotlib.pyplot as plt
1,
matplotlib.pyplot as plt
3,
import
0,
matplotlib.pyplot as plt
7,
matplotlib.pyplot as plt
9185
3
matplotlib.pyplot as plt
34height
1,
height
3,
height
6,
height
8,
=
0,
=
2import
9
Các
matplotlib.pyplot as plt
73=
[
=
0,
matplotlib.pyplot as plt
78,
matplotlib.pyplot as plt
80,
matplotlib.pyplot as plt
82,
185
,
matplotlib.pyplot as plt
86matplotlib.pyplot as plt
87
import
68matplotlib.pyplot as plt
89=
import
41import
42=
matplotlib.pyplot as plt
94189
3
189
4
Output:
Đầu ra:
Ví dụ 2: Chiều rộng bin không đồng đều
matplotlib.pyplot as plt
19=
[
189
____________185
________import
010________import
2
Các
Python3
import
matplotlib.pyplot as plt
import
49=
[
import
52,
import
54,
import
56______
matplotlib.pyplot as plt
34185
7,
,
6,
,
1,
,
3,
,
5,
,
8,
import
00185
3
Các
matplotlib.pyplot as plt
34import
19,
import
21,
import
23,
185
5,
import
28,
import
30,
height
63import
9
matplotlib.pyplot as plt
34height
66,
height
68,
height
70,
height
72,
import
32,
185
5[
6
Đầu ra:
Ví dụ 2: Chiều rộng bin không đồng đều
import
68matplotlib.pyplot as plt
89=
import
41import
42=
height
97189
3
189
4
Đầu ra: