コード例 #1
0
ファイル: svg_createline.py プロジェクト: riverzhou/hp_pp
def draw_multi_price_line(name, dict_data):
        line = Line()
        line.disable_xml_declaration = True
        line.js = []

        line.x_label_rotation = 45
        line.y_labels_major_every = 3
        #line.show_legend = False
        line.legend_at_bottom = True
        line.print_values = False
        line.width  = 1280
        line.height = 720
        line.value_formatter = lambda x:str(int(x))
        #line.major_label_font_size = 20
        #line.print_zeroes = True
        #line.show_minor_x_labels = True
        #line.show_minor_y_labels = True

        line.title = name
        min_y = None
        max_y = None
        for name in dict_data:
                #print(name)
                list_x, list_y = dict_data[name]
                line.add(name, list_y)
                min_list_y = min(list_y)
                max_list_y = max(list_y)
                if min_y == None or min_list_y < min_y : min_y = min_list_y
                if max_y == None or max_list_y > max_y : max_y = max_list_y
        if min_y == None : min_y = 0
        if max_y == None : max_y = 0 
        line.range = (min_y-100, max_y+300)
        line.x_labels = map(str, list_x)
        line.y_labels = map(lambda x:x*100, range(int((min_y/100)-1), int((max_y/100+4))))
        return line.render()
コード例 #2
0
ファイル: svg_createline.py プロジェクト: riverzhou/hp_pp
def draw_price_line(name, list_x, list_y):
        line = Line()
        line.disable_xml_declaration = True
        line.js = []

        line.x_label_rotation = 45
        line.y_labels_major_every = 3
        line.show_legend = False
        line.print_values = False
        line.width  = 1280
        line.height = 720
        line.value_formatter = lambda x:str(int(x))
        #line.major_label_font_size = 20
        #line.print_zeroes = True
        #line.show_minor_x_labels = True
        #line.show_minor_y_labels = True

        line.title = name 
        digital_y = list(filter(lambda x:x != None, list_y))
        if digital_y == [] : digital_y = [0]
        line.range = (min(digital_y)-100, max(digital_y)+300)
        line.x_labels = list_x
        line.y_labels = map(lambda x:x*100, range(int((min(digital_y)/100)-1), int((max(digital_y)/100+4))))
        line.add(name, list_y)
        return line.render()
コード例 #3
0
ファイル: datalogger.py プロジェクト: lmprover/godenerg
    def build_line(self, data, col_2):
        COL_1_INDEX, COL_2_INDEX = 2, 3

        range_1_from, range_1_to = \
            BaseDataLoggerHandler.create_range(data, COL_1_INDEX)

        if col_2:
            range_2_from, range_2_to = \
                BaseDataLoggerHandler.create_range(data, COL_2_INDEX)

        chart = Line(
            show_dots=False, fill=True if col_2 else True,
            show_x_guides=False, show_y_guides=True,
            range=(range_1_from, range_1_to),
            secondary_range=(range_2_from, range_2_to) if col_2 else None,
            x_label_rotation=70, title='Inverter Stats',
            style=BaseDataLoggerHandler.custom_style(col_2)
        )
        chart.y_labels = self.resolve_y_labels(
            range(range_1_from, range_1_to + 1)
        )
        return chart
コード例 #4
0
ファイル: tests.py プロジェクト: wuzesheng/pygal
 def test_ylabels():
     chart = Line()
     chart.x_labels = 'Red', 'Blue', 'Green'
     chart.y_labels = .0001, .0003, .0004, .00045, .0005
     chart.add('line', [.0002, .0005, .00035])
     return chart.render_response()
コード例 #5
0
ファイル: tests.py プロジェクト: ChaliZhg/pygal
 def test_ylabels():
     chart = Line()
     chart.x_labels = 'Red', 'Blue', 'Green'
     chart.y_labels = .0001, .0003, .0004, .00045, .0005
     chart.add('line', [.0002, .0005, .00035])
     return chart.render_response()
コード例 #6
0
ファイル: tests.py プロジェクト: Cortana-/pygal
 def test_ylabels():
     chart = Line()
     chart.x_labels = "Red", "Blue", "Green"
     chart.y_labels = 0.0001, 0.0003, 0.0004, 0.00045, 0.0005
     chart.add("line", [0.0002, 0.0005, 0.00035])
     return chart.render_response()