Chỉ cần sử dụng danh sách các mảng hoặc danh sách. boxplot
sẽ lấy bất kỳ loại trình tự nào (Vâng, bất kỳ thứ gì có một __len__
, anyway. Nó sẽ không hoạt động với máy phát điện, v.v.).
ví dụ .:
import matplotlib.pyplot as plt
x = [[1.2, 2.3, 3.0, 4.5],
[1.1, 2.2, 2.9]]
plt.boxplot(x)
plt.show()

Nếu bạn đang yêu cầu làm thế nào để đọc dữ liệu của bạn, có rất nhiều cách để làm những gì bạn muốn. Ví dụ đơn giản:
import matplotlib.pyplot as plt
import numpy as np
def arrays_from_file(filename):
"""Builds a list of variable length arrays from a comma-delimited text file"""
output = []
with open(filename, 'r') as infile:
for line in infile:
line = np.array(line.strip().split(','), dtype=np.float)
output.append(line)
return output
plt.boxplot(arrays_from_file('test.txt'))
plt.show()
Nguồn
2011-01-30 15:24:31
Dữ liệu nên được diễn giải như thế nào? Tất cả các giá trị có nên được nối trong một mảng 1D không? –
Không, tôi muốn có ô cho các cột datafile. Vì vậy, những gì tôi muốn làm trong trường hợp chiều dài bằng nhau sẽ là một mảng m lần n, sau đó đóng hộp các transpose, phải không? – Kabbo
Các tài liệu nói "x là một mảng hoặc một chuỗi các vectơ". Vì vậy, bạn cần phải đọc dữ liệu của bạn và dịch nó thành một loạt các vectơ, mỗi một ô. Có vẻ như bạn có thể đọc nó bằng cách sử dụng mô-đun csv của Python. –