2016-12-25 44 views
8
İki ölçümler (yani pygal kullanarak tek şekilde aslında num_of_ zaman serisi * 2 grafikleri var verileri gerektiği benziyor ile birden serisini çizmek için çalışıyorum

.Pygal (python) kullanarak bir grafikte birden fazla grafik nasıl çizilir?

from collections import defaultdict 

measurement_1=defaultdict(None,[ 
    ("component1", [11.83, 11.35, 0.55]), 
    ("component2", [2.19, 2.42, 0.96]), 
    ("component3", [1.98, 2.17, 0.17])]) 

measurement_2=defaultdict(None,[ 
    ("component1", [34940.57, 35260.41, 370.45]), 
    ("component2", [1360.67, 1369.58, 2.69]), 
    ("component3", [13355.60, 14790.81, 55.63])]) 

x_labels=['2016-12-01', '2016-12-02', '2016-12-03'] 

Ve grafik render kodudur bu. Mevcut sonuç

yukarıdaki kod sorun, 1 ve ölçüm ait olduğu grafik açık değildir olmasıdır that

from pygal import graph 
import pygal 
def draw(measurement_1, measurement_2 ,x_labels): 
    graph = pygal.Line() 
    graph.x_labels = x_labels 

    for key, value in measurement_1.iteritems(): 
     graph.add(key, value) 
    for key, value in measurement_2.iteritems(): 
     graph.add(key, value, secondary=True) 

    return graph.render_data_uri() 

olan

ve hangisinin ait s ölçüsü 2 İkincisi, her bir bileşenin (ya da şekil) her iki ölçümde de görülebilmesini istiyorum (şimdi hiç bir şekilde ilişkili olmadıkları anlaşılıyor). Örneğin Component1 Pembe, Component2 yeşili, component3 sarısı için

Bu grafik diğer iki karşı bir bileşeni karşılaştırılması amaçlanmıştır ve ben yeterince açıktı umut ölçümü, 1. ve 2.

arasındaki ilişkiyi görmek için, .

Yardımlarınız için teşekkürler!

+0

, bu soru paragrafında kendisinde aşağı aşağıda değil "Cevapları" bölümünde koyun lütfen. –

+0

Elbette. Bunu yapacağım. –

cevap

0

Karşılaştırılan bileşeni kesikli çizgi ile nasıl ayırt edeceğimi anladım. Kod gerektiği gibi görünüyor:

Eğer sorunuzun yanıtını bulduysanız
from pygal import graph 
import pygal 

def draw(measurement_1, measurement_2 ,x_labels): 
    graph = pygal.Line() 
    graph.x_labels = x_labels 

    for key, value in measurement_1.iteritems(): 
    ## 
    if "component1": 
     graph.add(key, value, stroke_style={'width': 5, 'dasharray': '3, 6', 'linecap': 'round', 'linejoin': 'round'}) 
    else: 
    ## 
     graph.add(key, value) 
    for key, value in measurement_2.iteritems(): 
     graph.add(key, value, secondary=True) 

    return graph.render_data_uri()