2010-07-28 6 views
6

Tôi đang làm việc trên một ứng dụng Python có liên quan đến việc chạy phân tích hồi quy trên dữ liệu trực tiếp và lập biểu đồ cả hai. Tức là, ứng dụng được cung cấp dữ liệu trực tiếp và các mô hình hồi quy tính toán lại như các bản cập nhật dữ liệu. Xin lưu ý rằng tôi muốn vẽ cả đầu vào (dữ liệu) và đầu ra (phân tích hồi quy) trong cùng một biểu đồ.Khuôn khổ tốt cho biểu đồ trực tiếp bằng Python?

Trước đây tôi đã thực hiện một số công việc với Matplotlib. Đó có phải là khung tốt nhất cho việc này không? Nó có vẻ là khá tĩnh, tôi không thể tìm thấy bất kỳ ví dụ tốt tương tự như tôi ở trên. Nó cũng có vẻ khá cồng kềnh với tôi. Hiệu suất là chìa khóa, vì vậy nếu có bất kỳ khuôn khổ biểu đồ python nhanh ra khỏi đó với một dấu chân nhỏ, tôi là tất cả các tai ...

Trả lời

4

Tôi đã thực hiện khá nhiều đồ họa động với matplotlib - nó luôn đưa tôi một số tranh cãi để làm cho nó hoạt động.

Dưới đây là một ví dụ tốt đẹp mặc dù:

http://matplotlib.sourceforge.net/examples/animation/simple_anim_gtk.html

+0

Vì vậy, cách để tạo ra một biểu đồ sống trong Matplotlib là tạo ra một biểu đồ hoạt hình? Bạn có thể nhận được hiệu suất tốt trong số này? – c00kiemonster

+0

về cơ bản, vâng. Bạn chỉ cần thiết lập để vẽ khi bạn nhận dữ liệu mới. Tôi đoán nó phụ thuộc vào định nghĩa của bạn về hiệu suất tốt ... –

1

Tôi đã làm việc với Matplotlib nhưng tôi luôn tìm thấy gnuplot là đủ cho tất cả của tôi nhu cầu biểu đồ. Bạn có tùy chọn gọi gnuplot từ python hoặc sử dụng gnuplot.py (gnuplot-py.sourceforge.net) để giao tiếp với gnuplot.

1

Bạn có thể sử dụng OpenFlash Chart mà wil cung cấp cho bạn một kết quả rất tốt đẹp. Bạn không cần phải có đèn flash (nó hoạt động trên Flex) và có một python library viết ra các bảng xếp hạng một cách pythonic đẹp:

def test_radar_charts_3(): 
    chart = open_flash_chart() 
    chart.title = title(text='Radar Chart') 

    val1 = [30,50,60,70,80,90,100,115,130,115,100,90,80,70,60,50] 
    spokes = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'] 
    val2 = [] 

    for i in val1:         
     txt = "#val#<br>Spoke: %s" % i 
     tmp = dot_value(value=i, colour='#D41E47', tip=txt) 
     val2.append(tmp) 

    line = line_hollow() 
    line.values = val2 
    line.halo_size = 0 
    line.width = 2 
    line.dot_size = 6 
    line.colour = '#FBB829' 
    line.text = 'Hearts' 
    line.font_size = 10 
    line.loop = True 
    chart.add_element(line) 
    r = radar_axis(max=150) 
    r.step = 10 
    r.colour = '#DAD5E0' 
    r.grid_colour = '#EFEFEF' 
    chart.radar_axis = r 
    tip = tooltip(proximity=1) 
    chart.tooltip = tip 
    chart.bg_colour = '#FFFFFF' 
    return chart 
+0

xin vui lòng sửa chữa các định danh –

+0

Điều này không giống như nó biểu đồ trực tiếp ... – Dan