возможно ли уменьшить или даже отключить скорость анимации при использовании компонента Chart Js .Blazor's BarChart в Blazor? Я нашел этот пакет NuGet очень полезным, но я не понимаю, как можно было бы отключить анимацию всякий раз, когда я обновляю свой BarChart. Для простоты, вот упрощенная версия, которую я сейчас тестирую:
@using ChartJs.Blazor.ChartJS.BarChart
@using ChartJs.Blazor.ChartJS.BarChart.Axes
@using ChartJs.Blazor.ChartJS.Common.Axes
@using ChartJs.Blazor.ChartJS.Common.Axes.Ticks
@using ChartJs.Blazor.ChartJS.Common.Properties
@using ChartJs.Blazor.ChartJS.Common.Wrappers
@using ChartJs.Blazor.Charts
@using ChartJs.Blazor.Util
@using BootstrapChart1.Data
<h2>Simple Bar Chart</h2>
<div class="row">
<button class="btn btn-primary" @onclick="AddData">
Add Data
</button>
<button class="btn btn-primary" @onclick="RemoveData">
Remove Data
</button>
</div>
<ChartJsBarChart @ref="_barChart"
Config="@_barChartConfig"
Width="600"
Height="300" />
@code {
private BarConfig _barChartConfig;
private ChartJsBarChart _barChart;
private BarDataset<DoubleWrapper> _barDataSet;
protected override void OnInitialized() {
_barChartConfig = new BarConfig {
Options = new BarOptions {
Title = new OptionsTitle {
Display = true,
Text = "Simple Bar Chart"
},
Scales = new BarScales {
XAxes = new List<CartesianAxis> {
new BarCategoryAxis {
BarPercentage = 0.5,
BarThickness = BarThickness.Flex
}
},
YAxes = new List<CartesianAxis> {
new BarLinearCartesianAxis {
Ticks = new LinearCartesianTicks {
BeginAtZero = true
}
}
}
},
ResponsiveAnimationDuration = 0,
}
};
_barChartConfig.Data.Labels.AddRange(new[] {"A", "B", "C", "D"});
_barDataSet = new BarDataset<DoubleWrapper> {
Label = "My double dataset",
BackgroundColor = new[] {ColorUtil.RandomColorString(), ColorUtil.RandomColorString(),
ColorUtil.RandomColorString(), ColorUtil.RandomColorString()},
BorderWidth = 0,
HoverBackgroundColor = ColorUtil.RandomColorString(),
HoverBorderColor = ColorUtil.RandomColorString(),
HoverBorderWidth = 1,
BorderColor = "#ffffff"
};
_barDataSet.AddRange(new double[] {8, 5, 3, 7}.Wrap());
_barChartConfig.Data.Datasets.Add(_barDataSet);
}
private void AddData() {
var nowSecond = DateTime.Now.Second;
_barChartConfig.Data.Labels.Add(nowSecond.ToString());
_barDataSet.Add(new DoubleWrapper(nowSecond));
_barChart.Update();
}
}
Источник расширения: https://github.com/mariusmuntean/ChartJs.Blazor