2011-01-30 28 views
8

değişken uzunluk verileri ile bir textfile bazı verileri toplanır ve bir Boxplot oluşturmak istiyorum var. Ancak bu veri dosyası, örneğin değişken uzunluktaki satırları içerir.Boxplot matplotlib

, 1.2, 2.3, 3.0, 4.5
1.1, 2.2, eşit uzunlukta 2.9

Sadece
PW = numpy.loadtxt ("./ learning.dat")
matplotlib.boxplot yapabileceği (PW.T);

nasıl değişken uzunlukta veri hatları işler?

+0

nasıl veri

yorumlanmalı

? Tüm değerler tek bir 1D dizisinde birleştirilmelidir mi? –

+0

Hayır, veri dosyası sütunları için kutulara sahip olmak istiyorum. Öyleyse eşit uzunluktaki durumda ne yapardım, o zaman bir m zaman n dizisi olur, o zaman aktarımın kutusunu çizer, değil mi? – Kabbo

+0

Dokümanlar, "x bir dizi veya vektör dizisidir." Bu yüzden verilerinizi okumak ve kutu başına bir dizi vektöre dönüştürmeniz gerekiyor. Python'un csv modülünü kullanarak okuyabiliyor gibi görünüyor. –

cevap

16

Sadece bir dizi dizi veya liste kullanın. boxplot herhangi bir sekansı alacaktır (Her neyse, __len__ olan her şey. Jeneratörler ile çalışmayacak vb.).

Örn .:

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() 

enter image description here

Eğer verilerde okumayı soruyorsanız, istediğini yapmak pek çok yol vardır. Ayrıca Python API veya sadece GUI kullanarak, Plot.ly bir Boxplot yapabilirsiniz

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() 
2

: Basit bir örnek olarak.

box1 = {'y': [1.2, 2.3, 3.0, 4.5], 
'type': 'box'} 
box2 = {'y': [1.1, 2.2, 2.9], 
'type': 'box'} 
response = py.plot([box1, box2]) 
url = response['url'] 
filename = response['filename'] 

Tam açıklanmasını: Sana tarayıcısında veya böyle Python API ile yapabileceğiniz hangi this graph yapılan ben Plotly takımda değilim.

enter image description here
+0

içine nasıl besleneceğini bilmiyorum, güzel! –