ロードおよび更新時に、プロット要素に対してアニメーション効果を有効化することで、FlexChart、FlexPie、およびFinancialChartのユーザーエクスペリエンスを向上させることができます。
アニメーションを有効にするには、ChartAnimationオブジェクトを作成して、継続時間、イージング関数、アニメーションモードなどの主要プロパティと共にチャートコントロールインスタンスを渡します。
例:
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次イン/アウト、弾性イン/アウト、バウンドイン/アウト、線形などの標準イージング関数をサポートしています。
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();