新しい v3.13 リリースが本日リリースされました。このリリースには 4 つの新機能、2 つのバグ修正、ツールの改善が含まれています。
詳細なリリース情報については、リリース ノートを確認してください:
https://github.com/naver/billboard.js/releases/tag/3.13.0
範囲タイプは、ベースライン値から「範囲の値」を視覚化するのに役立ちます。このリリースから、バリエーションに新しい「ステップ」タイプが追加されます。
デモ: https://naver.github.io/billboard.js/demo/#Chart.FunnelChart
import bb, {areaStepRange} from "billboard"; bb.generate({ data: { columns: [ ["data1", [70, 40, 30], [155, 130, 115], [160, 135, 120], [200, 120, 110], [95, 50, 40], [199, 160, 125] ]], type: areaStepRange() } });
一部の範囲を破線で描画するにはdata.regionsオプションを使用します。ただし、破線をレンダリングする方法は、複数のパス コマンドを組み合わせて破線として行う必要がありました。
上のスクリーンショットの例から、破線を描画するには複数のパス コマンドが必要です。
## Multiple path command M5,232L95,136M99,139L104,142 M109,145L114,149 ... M L M L ... ## Single path command M4,232,136L139,192L206,23L274,164L341,108
このアプローチではいくつかのレンダリングの問題 (#1、#2) が発生したため、ネイティブな方法でこれを改善しようとしました。
パス コマンドを使用して破線を描画する代わりに、ストローク-ダシャーレイ スタイル プロパティを使用してレンダリングするようにしました。
デモ: https://naver.github.io/billboard.js/demo/#Chart.LineChartWithRegions
ズーム操作時のアニメーション フレームのパフォーマンスが 84 ミリ秒から 5 ミリ秒!
に向上しました。3.12 に更新すると、コードを変更することなくメリットが得られます。
legend.format: 元のデータ ID を指定します
data.names オプションを指定すると、表示データ名が元の名前(id)と異なります。
{ data: { names: { // will make data1 and data2, displayed in different values. data1: "Detailed Name", data2: "Name Detailed" }, columns: [ ["data1", 71.4], ["data2", 10] ] } }
この場合、legend.format コールバックは、元の ID ではなく、data.names で置き換えられた値を受け取ります。
data: { names: { // will make data1 and data2, displayed in different values. data1: "Detailed Name", data2: "Name Detailed" }, } legend: { format: function(id) { // id will be 'Detailed Name' and 'Name Detailed' } }
このリリースからは、元の「id」値が置き換えられた名前で提供されます。
data: { names: { // will make data1 and data2, displayed in different values. data1: "Detailed Name", data2: "Name Detailed" }, } legend: { format: function(id, dataId) { // id will be 'Detailed Name' and 'Name Detailed' // dataId will be 'data1' and 'data2' } }
デモ: https://naver.github.io/billboard.js/demo/#Legend.LegendFormat
以前は、bar.width は絶対値または比率値で指定できました。絶対値はチャートの動的サイズ変更を反映できませんが、比率はいくつかの制限付きで反映できます。
比率の計算方法は以下の式に基づいています。
x Axis tick Interval * ratio
たとえば、グラフの幅が 500 ピクセル、軸の目盛り数が 5 の場合、間隔はおよそ 100 ピクセルになります。
この場合、bar.ratio=0.5を指定すると以下の式となり、バーの幅は49.9pxとなります。
100(exact value is 99.8) * 0.5 = 49.9
バーの幅の値をより細かく調整できるようにするために、便利なパラメーターを含むコールバック関数を受け入れるように bar.width オプションを強化します。
デモ: https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidth
bar: { width: function(width, targetsNum, maxDataCount) { // - width: chart area width // - targetsNum: number of targets // - maxDataCount: maximum data count among targets } }
テスト フレームワークに Karma Mocha を採用しました。billboard.js を安定させるために維持するのは素晴らしい経験でした。
残念ながら、Karma は非推奨を発表したため、ライブラリを安定させ、最新のエコシステムに従うために、他のいくつかの最新のテスト フレームワークを移行する必要がありました。
いくつかの調査の後、私たちはvitestに移動することにしました。このリリース内での移行に成功し、ローカル テストが最大 63% 改善されました!
パッケージ | 間隔 | カルマの違い |
---|---|---|
カルマ (モカチャイ) | 142.382 | - |
ビテスト (webdriverio:chrome) | 144.364* | 1.39% |
ヴィテスト (劇作家:クロム) | 51.606** | -63.75% |
詳細については、https://github.com/naver/billboard.js/pull/3866 をチェックしてください
このリリースに関する情報は以上です。引き続きご期待ください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3