首页 > 解决方案 > Python、Zingchart

问题描述

def algorithm():
    model = {
        'crit_value': 1.5,
        'max_value': 2,
        'org_values': [-0.9, -1.85, 1, -1.9, 0.75, 0.5, 3, -2, 1.3, -1.5, -0.9, 1.7],
        'limited_values': []
    }
    return model

def describeChartInJson(model):
    conf = {
        'type': 'hbar',
        'scale-x': {
          'values': '1:12:1',
          'guide': {
            'line-color': 'lightgrey',
            'line-width': 1,
            'line-style': 'solid',
            'visible': 'true'
          },
          'rules': [
            {
              'rule': '%v >=1  && %v <= 9',
              'format': 'L0%v',
            },
            {
              'rule': '%v>=10',
              'format': 'L%v',
            },
          ],
          'item': {
            'offsetY': "-20"
          }
        },
        'scale-y': {
          'offset-end': '69%',
          'values': '-2:2:2'
        },
        'scale-y-2': {
          'placement': 'default',
          'blended': 'true',
          'offset-start': '33%',
          'offset-end': '35%',
          'values': '-2:2:2',
        },
        'scale-y-3': {
          'placement': 'default',
          'blended': 'true',
          'offset-start': '67%',
          'values': '-2:2:2'
        },
        'series': [{
            'scales': 'scale-x,scale-y',
            'values': model['org_values']
        },
        {   'scales': 'scale-x,scale-y-2',
            'values': model['org_values']
        },
        {
            'scales': 'scale-x,scale-y-3',
            'values': model['org_values']
        }
        ],
        'plot': {
          'aspect': 'cone',
          'rules': [
            {
              'rule': '%v >= model[crit_value]',
              'backgroundColor': 'red',
            },
            {
              'rule': '%v <= -1.5',
              'backgroundColor': 'red',
            },
            {
              'rule': '%v >= -1.5 && %v <= 1.5',
              'backgroundColor': 'grey'
            }]
        }
    }
    return conf

def run(get_parameters):

    model = algorithm()
    return describeChartInJson(model)

有人能告诉我为什么这条规则 ('rule': '%v >= model[crit_value]') 不被识别吗?据我了解, model[crit_value] 返回一个浮点值并将其与一个浮点值 %v 进行比较。当我尝试这个 ('rule': '%v' >= float (model['crit_value']) 我得到错误 '>=' not supported between 'str' and 'float'

标签: pythonjsonzingchart

解决方案


该规则('rule': '%v >= model[crit_value]')不起作用,因为它是一个字符串。您将需要发送的值model['crit_value']而不是字符串。

尝试('rule': '%v >= ' + model['crit_value']),而不是。


推荐阅读