[]
ロードおよび更新時に、プロット要素に対してアニメーション効果を有効化することで、FlexChart、FlexPie、およびFinancialChartのユーザーエクスペリエンスを向上させることができます。
アニメーションを有効にするには、ChartAnimationオブジェクトを作成して、継続時間、イージング関数、アニメーションモードなどの主要プロパティと共にチャートコントロールインスタンスを渡します。
animationMode:データポイントをどのようにアニメーションするか(一度にすべてをアニメーション、ポイントごとにアニメーション、系列ごとにアニメーション)を指定します。アニメーション全体は継続時間内に完了します。
All:すべてのポイントと系列を一度にアニメーションします。
Point:アニメーションがポイントごとに実行されます。複数の系列が同時にアニメーションします。
Series:アニメーションが系列ごとに実行されます。"All"オプションと同様に系列全体が一度にアニメーションされますが、一度に1つの系列のみがアニメーションします。
easing:イージング関数がアニメーションに適用されます。
duration:アニメーションの長さです(ミリ秒単位)。
例:
import * as chart from '@mescius/wijmo.chart';
import * as animation from '@mescius/wijmo.chart.animation';
var chartAnimation = new animation.ChartAnimation(myChart, {
animationMode: wijmo.chart.animation.AnimationMode.All,
easing: wijmo.chart.animation.Easing.Swing,
duration: 400
});
アニメーションを有効にすると、チャートをロードおよび更新するときにアニメーションが自動的に実行されます。アニメーションをプログラムから実行するには、_animate_メソッドを呼び出します。
例:
myChart.animate();
アニメーションに適用されるイージング関数を設定することで、アニメーションをさらに詳細に設定できます。FlexChartは、3次イン/アウト、弾性イン/アウト、バウンドイン/アウト、線形などの標準イージング関数をサポートしています。
Linear
Swing
EaseInQuad
EaseOutQuad
EaseInOutQuad
EaseInCubic
EaseOutCubic
EaseInOutCubic
EaseInQuart
EaseOutQuart
EaseInOutQuart
EaseInQuint
EaseOutQuint
EaseInOutQuint
EaseInSine
EaseOutSine
EaseInOutSine
EaseInExpo
EaseOutExpo
EaseInOutExpo
EaseInCirc
EaseOutCirc
EaseInOutCirc
EaseInBack
EaseOutBack
EaseInOutBack
EaseInBounce
EaseOutBounce
EaseInOutBounce
EaseInElastic
EaseOutElastic
EaseInOutElastic
ChartAnimation オブジェクトの axisAnimation プロパティを設定することにより、軸にもアニメーションを適用することができます。
例:
chartAnimation.axisAnimation = true;
ChartAnimationは、更新時にも適用されます。アニメーションを設定したら、ソースコレクションにポイントを挿入または削除することで、チャートのデータソースを簡単に更新できます。
例:
// 開始位置にポイントを挿入します
myChart.itemsSource.insert(0, getMyDataItem());
// 終了位置にポイントを挿入します
myChart.itemsSource.push(getMyDataItem());
// 開始位置のポイントを削除します
myChart.itemsSource.removeAt(0);
// 終了位置のポイントを削除します
myChart.itemsSource.pop();
_getMyDataItem_メソッドはプレースホルダとして使用されており、これは、連結タイプに一致するデータオブジェクトに置き換える必要があります。
FlexChartはCollectionViewクラスをデータソースとして使用しているため、データに加えた変更はチャートに自動的に反映されます。このCollectionViewは、collectionViewプロパティによって公開されます。また、このコレクションにポイントを追加または削除すると、チャートにその変更が反映されます。
例:
// 新しいポイントを付加し、古いポイントを削除します
var arr = myChart.collectionView.sourceCollection;
var pt = arr[arr.length - 1];
var y = pt.y;
for (var i = 0; i < 10; i++) {
y += Math.random() - .5;
arr.push({ x: pt.x + i + 1, y: y });
arr.splice(0, 1);
}
// コレクションビューとチャートを更新します
myChart.collectionView.refresh();
myChart.refresh();