Проблема с диаграммой extjs - PullRequest
       1

Проблема с диаграммой extjs

1 голос
/ 29 сентября 2010

Я использую ext do draw draw в браузере, я столкнулся с проблемой:

Я хочу нарисовать две линии на одном графике, поэтому я использую ColumnChart, это мои данные:

var store = new Ext.data.JsonStore({
    fields:['name', 'visits', 'views'],
    data: [
        {name:'Jul 07', visits: 245, views: 3000000},
        {name:'Aug 07', visits: 240, views: 3500000},
        {name:'Sep 07', visits: 355, views: 4000000},
        {name:'Oct 07', visits: 375, views: 4200000},
        {name:'Nov 07', visits: 490, views: 4500000},
        {name:'Dec 07', visits: 495, views: 5800000},
        {name:'Jan 08', visits: 520, views: 6000000},
        {name:'Feb 08', visits: 620, views: 7500000}
    ]
});

Так как данные о посещениях значительно меньше просмотров.

Итак, линия, которая представляет визит слишком близко к оси, есть ли какая-нибудь идея?

alt text


Спасибо за ваш ответ, я решил сделать их в том же масштабе. Кстати, у меня есть еще один вопрос, надеюсь, вы можете дать некоторые предложения:

alt text

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Чтобы создать yAxis с разными масштабами в ExtJs4, вы можете использовать левую и правую оси.

xtype: 'chart',
width: 400,
height: 300,
store: myStore,
axes: [
    {
        //title: 'Size',
        type: 'Numeric',
        position: 'left',
        fields: ['sizeInBytes'],
        minimum: 0
    },{ /// NEW yAxis Scale ///
        //title: 'Run Time',
        type: 'Numeric',
        position: 'right',
        fields: ['runTimeMin'],
        minimum: 0
    },{
        //title: 'Date',
        type: 'Time',
        position: 'bottom',
        fields: ['startTime'],
        dateFormat: 'm/d/y h:i A'
    }
],
series: [
    {
        type: 'column',
        axis: 'left',
        xField: 'startTime',
        yField: 'sizeInBytes'
    },{ /// Specify the Axis and data field to use ///
        type: 'line',
        axis: 'right',// <----
        xField: 'startTime',
        yField: 'runTimeMin' // <----
    }
]
0 голосов
/ 29 сентября 2010

Насколько я вижу, есть два варианта: 1. Добавьте вторую ось Y с другим масштабом 2. Уменьшите большие значения вниз

Диаграммы ExtJS, насколько мне известно, не позволяют добавить вторую ось, хотя существуют обходные пути (см. http://www.sencha.com/forum/showthread.php?72557-Ext-JS-Charts-Second-Y-Axis-Scale)

Поэтому самым простым способом было бы просто разделить большие значения, скажем, на 10 000, чтобы вывести значения двух шкал, а затем отметить, что они в тысячах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...