2014-02-17 25 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