javascript - 如何获得带有单个条形图的 ExtJS 4.1.X 条形图以正确显示该条形图的标签?

标签 javascript css extjs ria

如果您在以下位置尝试文档中的实时代码示例:

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.chart.series.Bar

不止一个标签看起来很漂亮:

Bar Chart with Two Labels

data: [
    { 'name': 'metric one',  'data':5 },
    { 'name': 'metric two',  'data':27 }
]

但是,一旦您将数据集减少到一个标签,输出看起来就很糟糕(请注意,条形图的标 checkout 现在图表区域顶部的一半之外,而不是与要标记的条形图垂直对齐):

Bar Chart with One Label

这是 ExtJS 中的错误吗?我该如何解决这个问题?产生此输出的确切 ExtJS 代码:

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

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

最佳答案

一种解决方案是更换

axisRange = to - from,

383Axis.js 在 ExtJS 中

axisRange = to - from == 0 ? 1 : to - from,

防止被零除分配给 y 坐标 轴标签。

关于javascript - 如何获得带有单个条形图的 ExtJS 4.1.X 条形图以正确显示该条形图的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586981/

相关文章:

javascript - 使用 JavaScript 创建 base64 编码的图像

javascript - JS 字符串 "+"与 concat 方法

javascript - 如何使函数队列

javascript - NodeJS 多站点网络抓取

javascript - JS中的单例模式和抽象

javascript - ExtJs 4.2 引用选择器 vs Ext.getcmp() vs Ext.ComponentQuery.query()

javascript - 使用 angular 和 css 从数组数组创建自定义网格

html - Bootstrap 导航栏中的搜索框向下跳转一行

html - 垂直对齐 li 内的文本

forms - extjs 创建制作面板表单的类