2014-02-17 63 views
6

不同的文本这是关于版本4.2.2 我们有这样显示在联想

var store = Ext.create('Ext.data.JsonStore', { 
    fields: ['name', 'data'], 
    data: [ 
     { 'name': 'metric one', 'data':10 }, 
     { 'name': 'metric two', 'data':27 } 
    ] 
}); 

Ext.create('Ext.chart.Chart', { 
    renderTo: Ext.getBody(), 
    width: 500, 
    height: 300, 
    animate: true, 
    store: store, 
    legend: { 
     position: 'right' 
    }, 
    axes: [ 
     { 
      type: 'Numeric', 
      position: 'left', 
      fields: ['data'], 
      label: { 
       renderer: Ext.util.Format.numberRenderer('0,0') 
      }, 
      title: 'Sample Values', 
      grid: true, 
      minimum: 0 
     }, 
     { 
      type: 'Category', 
      position: 'bottom', 
      fields: ['name'], 
      title: 'Sample Metrics' 
     } 
    ], 
    series: [ 
     { 
      type: 'column', 
      axis: 'left', 
      highlight: true, 
      tips: { 
       trackMouse: true, 
       width: 140, 
       height: 28, 
       renderer: function(storeItem, item) { 
       this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data') + ' $'); 
       } 
      }, 
      label: { 
       display: 'insideEnd', 
       'text-anchor': 'middle', 
       field: 'data', 
       renderer: Ext.util.Format.numberRenderer('0'), 
       orientation: 'vertical', 
       color: '#333' 
      }, 
      xField: 'name', 
      yField: 'data' 
     } 
    ] 
}); 

图表但是联想只显示字段名这是不是非常有帮助。我们需要在这里应用一个应该是静态类型的自定义值。但是我们没有发现这样做。有一个财产,但我们发现没有legendTextdisplayText道具,这可能会允许我们将名称从data更改为A much better Name

编辑 实施例更日期图例

Ext.application({ 
    name : 'Fiddle', 

    launch : function() { 
     var store = Ext.create('Ext.data.JsonStore', { 
    fields: ['name', 'data', 'data2'], 
    data: [ 
     { 'name': 'metric one', 'data':10, 'data2':2 }, 
     { 'name': 'metric two', 'data':27, 'data2': 5 } 
    ] 
}); 

Ext.create('Ext.chart.Chart', { 
    renderTo: Ext.getBody(), 
    width: 500, 
    height: 300, 
    animate: true, 
    store: store, 
    legend: { 
     position: 'right' 
    }, 
    axes: [ 
     { 
      type: 'Numeric', 
      position: 'left', 
      fields: ['data','data2'], 
      label: { 
       renderer: Ext.util.Format.numberRenderer('0,0') 
      }, 
      title: 'Sample Values', 
      grid: true, 
      minimum: 0 
     }, 
     { 
      type: 'Category', 
      position: 'bottom', 
      fields: ['name'], 
      title: 'Sample Metrics' 
     } 
    ], 
    series: [ 
     { 
      type: 'column', 
      axis: 'left', 
      highlight: true, 
      stacked: true, 
      tips: { 
       trackMouse: true, 
       width: 140, 
       height: 28, 
       renderer: function(storeItem, item) { 
       this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data') + ' $'); 
       } 
      }, 
      label: { 
       display: 'insideEnd', 
       'text-anchor': 'middle', 
       field: 'data', 
       renderer: Ext.util.Format.numberRenderer('0'), 
       orientation: 'vertical', 
       color: '#333' 
      }, 
      xField: 'name', 
      yField: ['data','data2'], 
      title:'YourNewLabel' 
     } 
    ] 
}); 
    } 
}); 

回答

11

内显示可以使用title改变label在图例中。查看我使用示例代码创建的this fiddle

series: [ 
     { 
      type: 'column', 
      axis: 'left', 
      highlight: true, 
      tips: { 
       trackMouse: true, 
       width: 140, 
       height: 28, 
       renderer: function(storeItem, item) { 
       this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data') + ' $'); 
       } 
      }, 
      label: { 
       display: 'insideEnd', 
       'text-anchor': 'middle', 
       field: 'data', 
       renderer: Ext.util.Format.numberRenderer('0'), 
       orientation: 'vertical', 
       color: '#333' 
      }, 
      xField: 'name', 
      yField: 'data', 
      title:'YourNewLabel' 
     } 

更新:如果您有提供相应职称的array多个场。例如:

title:['My First Field','My Second Field']

这里是一个

+0

感谢您的答复,这暗示。我认为我们没有说清楚,因为我们已经堆叠了具有多个数据字段的列。请参阅编辑后的问题(我不知道如何将它保存在小提琴中,所以我复制了它) - 现在图例中的两个标签具有相同的名称。 – JJR

+0

@JJR我在原帖中添加了更新。基本上,你需要提供一个与每个字段相对应的标题“数组”。 (更多信息在答案) – weeksdev

+0

非常感谢你,工作!但是,这导致我们接下来的问题:[如何在图表图例中使用html标签](http://stackoverflow.com/questions/21876180/how-to-use-html-tags-in-a-chart-legend ) – JJR