3

私はこれを解決するために何日も費やしました:

複数の系列でグラフを作成しようとしています。1 つのシリーズでは、すべてのポイントを含む線を表示します (私のコード「val」シリーズ)。2 番目のシリーズでは、ポイントの一部 (「温度」シリーズ) のみを示したいと思います。どちらのシリーズも int のデータ型を示しています。

グラフから除外するために「温度」フィールドに非常に低い値を設定しようとしましたが、それぞれの「値」もスキップされました!

ExtJs 4.1.1: "val" フィールドの午前 10 時の値はスキップされます。

ExtJs 4.0.7: "val" フィールドの午前 10 時の値が存在します!

(ここに画像を投稿できればいいのですが、評判ポイントが 10 ありません。:-( )

これが私のコードです:

Ext.define('WeatherPoint', {
    extend: 'Ext.data.Model',
    fields: ['temperature', 'date', 'val']
});

var store1 = Ext.create('Ext.data.Store', {
    model: 'WeatherPoint',
    data: [
        { temperature: 58, date: new Date(2011, 1, 1, 8), val: 10 },
        { temperature: 63, date: new Date(2011, 1, 1, 9), val: 20 },
        { temperature: -100, date: new Date(2011, 1, 1, 10), val: 40 }, 
        { temperature: 78, date: new Date(2011, 1, 1, 11), val: 90 },
        { temperature: 81, date: new Date(2011, 1, 1, 12), val: 50 }
    ]
}); 

var chart1 = Ext.create('Ext.chart.Chart',{
        xtype: 'chart',
        animate: false,
        store: store1,
        legend: true,
        insetPadding: 30,
        axes: [{
            title: 'Temperature',
            type: 'Numeric',
            position: 'left',
            fields: ['temperature', 'val'],
            minimum: 0,
            maximum: 100
        }, {
            title: 'Time',
            type: 'Time',
            position: 'bottom',
            fields: ['date'],
            dateFormat: 'ga',
            step: [Ext.Date.HOUR, 1],
            fromDate: new Date(2011, 1, 1, 8),
            toDate: new Date(2011, 1, 1, 12)
        }],
        series: [{
            type: 'scatter',
            axis: ['left','bottom'],
            xField: 'date',
            yField: 'temperature'
        }, {
            type: 'line',
            title: 'val',
            axis: ['left','bottom'],
            xField: 'date',
            yField: 'val'
        }]
    });


var panel1 = Ext.create('widget.panel', {
    width: 600,
    height: 400,
    renderTo: Ext.getBody(),
    layout: 'fit',
    items: chart1
});
  1. 4.1.1 では、1 つのシリーズの値が範囲外であるため、すべてのシリーズがスキップされるのはなぜですか?
  2. 1 つのシリーズのポイントの一部のみを表示し、2 番目のシリーズのすべてのポイントを表示するにはどうすればよいですか?
4

1 に答える 1

2

null非表示にするポイントの値を使用するか、値を空にしてみてください''

例:

var store1 = Ext.create('Ext.data.Store', {
    model: 'WeatherPoint',
    data: [
        { temperature: 58, date: new Date(2011, 1, 1, 8), val: 10 },
        { temperature: 63, date: new Date(2011, 1, 1, 9), val: 20 },
        { temperature: '', date: new Date(2011, 1, 1, 10), val: 40 },
        { temperature: 78, date: new Date(2011, 1, 1, 11), val: ''},
        { temperature: 81, date: new Date(2011, 1, 1, 12), val: 50 }
    ]
}); 
于 2012-08-20T14:20:28.977 に答える