如何在 Highcharts Dotnet C# MVC 上禁用动画?

How to disable animations on Highcharts Dotnet C# MVC?

所以我开始在 Visual Studio 中使用 Dotnet.Highcharts 和 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);

我找到了禁用动画的方法 highcharts.js (From another question for the js version)

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

我将 1E3 更改为 0 并且它起作用了,但是,这不是最佳解决方案,必须有一种方法可以以正确的方式实现它。 visual studio 的 highcharts dll 的全部意义在于能够在不触及 javascript

的情况下使用 highcharts

目前,我不会接受我自己的答案作为答案

这个对我有用。玩了一会儿,好像没有明确的文档。

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)} }
});