2016-12-25 7 views
8

मैं दो माप (इसलिए यह वास्तव में num_of_ समय श्रृंखला * 2 एक आकृति में रेखांकन pygal का उपयोग कर डेटा चाहिए कि तरह लग रहा है के साथ कई श्रृंखला प्लॉट करने के लिए कोशिश कर रहा हूँ:।पाइगल (पायथन) का उपयोग कर एक चार्ट में एकाधिक ग्राफ कैसे प्लॉट करें?

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'] 

और ग्राफ प्रतिपादन कोड है कि:

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

वर्तमान परिणाम that है

उपरोक्त कोड में समस्या

है कि यह जो ग्राफ 1 माप के अंतर्गत आता है स्पष्ट नहीं है और जो एक हैं। माप के लिए 2. दूसरा, मैं दोनों मापों में रंग (या आकार) में प्रत्येक घटक को देखना चाहता हूं (अब ऐसा लगता है कि वे बिल्कुल संबंधित नहीं हैं)। उदाहरण component1 -pink, component2-हरे, पीले component3 लिए

यह ग्राफ बनाम दो अन्य एक घटक तुलना करने के लिए करना है, और माप 1 और 2

के बीच संबंध देखने के लिए मुझे आशा है कि मैं काफी स्पष्ट था ।

मदद लोगों के लिए धन्यवाद!

+0

यदि आपको प्रश्न का उत्तर मिल गया है, तो कृपया इसे नीचे दिए गए "उत्तर" अनुभाग में रखें और प्रश्न पैराग्राफ में नहीं। –

+0

निश्चित रूप से। वह में स्वयं कर लूँगा। –

उत्तर

0

मुझे पता चला कि तुलना किए गए घटक को धराशायी रेखा से कैसे अलग किया जाए। कोड इस तरह दिखना चाहिए:

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() 
संबंधित मुद्दे