2011-12-12 99 views
3

我用下面的代码创建一个ExtJs图表,不幸的是我不知道如何设计xAxis和yAxis。在ExtJs文档中找不到任何帮助。如何格式化ExtJs图表轴?

Ext.create('Ext.chart.Chart', { 
     renderTo: div, 
     theme: 'Browser:gradients', 
     width: div.offsetWidth, 
     height: div.offsetHeight, 
     animate: true, 
     store: store, 
     axes: [ 
       { 
        title: 'Number of Ratings', 
        type: 'Numeric', 
        position: 'left', 
        fields: ['data1', 'data2', 'data3'], 
        minimum: 0, 
        tips: { 
         trackMouse: true, 
         width: 110, 
         height: 25, 
         renderer: function (storeItem, item) { 
          this.setTitle(storeItem.get('name'); 
         } 
        }, 
       }, 
       { 
        title: 'Rating Categories', 
        type: 'Category', 
        position: 'bottom', 
        fields: ['name'], 
       } 
      ], 
     series: [ 
       { 
      type: 'column', 
      title: createLegendTitles(response.ratingResults), 
      xField: 'name', 
      yField: ['data1','data2', 'data3'], 
     } 
     ], 
}); 

如何格式化图表的xAxis和yAxis? (例如,设置颜色,字体大小,字体家族等)

+0

你解决这个问题?可以üplz分享?ty – Armance

+0

不,不幸的是不是 – dilino

+0

看到我的回复below.it帮助我..hope它可以帮助你 – Armance

回答

1

我不认为有这个属性,但你可以使用CSS格式化它们。

5

不幸的是,Sencha文档对此没有明确或不完整。有时,您最终会通过查看图表示例来查找特定功能。其他时候,你必须去源潜水。我知道这很令人沮丧。

听起来好像您正在尝试自定义轴标签的样式。有一个名为label的配置(在Ext.chart.axis.Axis的文档中的示例代码中显示,但不在配置中)。它需要一个类型为Ext.chart.Label的对象,该对象本身具有用于配置颜色,字体,方向,自定义渲染器功能,旋转,显示位置等的配置。您可以获得摘要here,但它也不完整。

如果还有其他东西在找,我可以尽我所能指引您朝正确的方向发展。我花了几个小时在工作中寻找我自己的项目的源代码,就像这样寻找答案。

编辑:要编辑轴线本身,您可能必须做一些覆盖/延伸Ext.chart.axis.Axis类。在drawAxis方法的底部,有一些代码,看起来像这样:

if (!me.axis) { 
    me.axis = me.chart.surface.add(Ext.apply({ 
     type: 'path', 
     path: path 
    }, me.axisStyle)); 
} 

看起来这就是你要添加的代码将样式应用于轴。据我所知,me.axisStyle属性实际上并未在Axis类中设置,因此您必须为此寻找。它可能是轴配置中的手动设置,它可能由主题或其他东西完全生成。

+0

谢谢!不,我不是要自定义轴_labels_的样式,而是自己定义轴的样式。 – dilino

+0

啊。当你说“字体大小,字体家族等”时我认为你的意思是标签。 – Eric

4

这可能会实现

axes: [ 
    { 
     title: 'Number of Ratings', 
     label: { 
      renderer: function(v){ 
       return '<span class="numRatingsAxis">' + v + '</span>'; 
      } 
     } 
     ... 
    } 
] 
+0

这工作!谢谢。我用它来用Ext.util.Format.currency()格式化Y轴。 –

+1

这不起作用 – Isaac

+0

它在ExtJS 4.2.x图表中不起作用 –