Как отключить анимацию в Highcharts Dotnet C# MVC?

Итак, я начал использовать Dotnet.Highcharts в Visual Studio с C # и MVC. Он сильно отличается от своего аналога javascript, мне нужно использовать ghostjs, чтобы сделать снимок с моей веб-страницы для отправки в виде отчета, как многие должны знать, это означает что анимация мешает этому работать должным образом, поскольку полосы отображаются до половины высоты, которой они должны быть.

Я использую рекомендуемый код из Dotnet.highcharts, который в основном использует Razor для настройки диаграммы.

Я пробовал отключать анимацию во всех этих местах:

 PlotOptions = new PlotOptions
        {
            Column = new PlotOptionsColumn
            {
                PointPadding = 0.2,
                BorderWidth = 0,
                Animation = new Animation() { Enabled = false, Duration = 0 }
            },
            Series = new PlotOptionsSeries
            {
                Animation = new Animation() { Enabled = false, Duration = 0}
            }
        },
 chartOptions.Drilldown.Animation = new Animation() { Enabled = false, Duration = 0};
 chartOptions.Chart.Animation.Enabled = false;

а диаграмма продолжает анимироваться, я просто не знаю, что происходит

вот мой полный код Razor для диаграммы

var chartOptions = new Highcharts
    {

        Title = new Title { Text = "Transactions" },
        Subtitle = new Subtitle { Text = "December" },
        XAxis = new List<XAxis>
        {
            new XAxis
            {
                Categories = ViewBag.ListCategories

            }
        },
        YAxis = new List<YAxis>
        {
            new YAxis
            {
                Min = 0,
                Title = new YAxisTitle
                {
                    Text = "Tx"
                }
            }
        },
        Tooltip = new Tooltip
        {
            HeaderFormat = "<span style='font-size:10px'>{point.key}</span><table style='font-size:12px'>",
            PointFormat = "<tr><td style='color:{series.color};padding:0'>{series.name}: </td><td style='padding:0'><b>{point.y:.0f}</b></td></tr>",
            FooterFormat = "</table>",
            Shared = true,
            UseHTML = true
        },
        PlotOptions = new PlotOptions
        {
            Column = new PlotOptionsColumn
            {
                PointPadding = 0.2,
                BorderWidth = 0,
                Animation = new Animation() { Enabled = false, Duration = 0 }
            },
            Series = new PlotOptionsSeries
            {
                Animation = new Animation() { Enabled = false, Duration = 0}
            }
        },
        Series = new List<Series>
        {
         new ColumnSeries
         {
         Name = "TX",
        Data = ViewData["DataTX"] as List<ColumnSeriesData>
    }
      }

    };

    chartOptions.ID = "chart";
    chartOptions.Drilldown.Animation = new Animation() { Enabled = false, Duration = 0};
    chartOptions.Chart.Animation.Enabled = false;

    var renderer = new HighchartsRenderer(chartOptions);

person SGP    schedule 27.12.2020    source источник


Ответы (2)


Этот работал для меня. Пришлось поиграть с ним какое-то время, кажется, нет четкой документации.

DotNet.Highcharts.Highcharts chart = new DotNet.Highcharts.Highcharts("chart")
.InitChart(new Chart { DefaultSeriesType = ChartTypes.Areaspline})  
.SetTitle(new Title
{
Text = "myLabel",
X = -20
})      
        
.SetSeries(new[]
{
  new Series { Name = "MyUsers", Data = new Data(myData), PlotOptionsSeries=new PlotOptionsSeries(){Animation=new Animation(false)} }
});
person BitQuestions    schedule 21.03.2021

Я нашел способ отключить анимацию внутри highcharts.js (Из другого вопроса для js-версия)

showCheckbox: !1, 
animation: { duration: 1E3 }
, events: {},

Я изменил 1E3 на 0, и это сработало, однако это не оптимальное решение, должен быть способ сделать это правильно. Весь смысл highcharts dll для visual studio заключается в возможности использовать highcharts, не касаясь javascript.

На данный момент я не приму свой собственный ответ как ответ

person SGP    schedule 28.12.2020