ASP.NET MVC 3.0 图表助手显示图例

本文关键字:显示图 NET MVC ASP | 更新日期: 2023-09-27 17:56:54

有没有办法使用图表助手在图表上显示图例?

默认情况下它不显示它,我没有可以说要显示的属性,如果我在 xml 中指定图例:

<Legends>
    <Legend _Template_=""All"" BackColor=""Black"" Docking=""Bottom"" Font=""Trebuchet MS, 8.25pt, style=Bold"" LegendStyle=""Row"" >
    </Legend>
  </Legends>  

它也不起作用。

图表助手public Chart AddLegend(string title = null, string name = null)中有方法;但是当我调用它时,我看不到图表上的图例,图表也没有显示。

Chart chart = new System.Web.Helpers.Chart(width: 120, height: 300, theme: chartStyle: ChartTheme.Green.ToString()) 
                .AddLegend("title", "name") // not existed legends, that's why error.
                .AddSeries(
                    chartType: "Column"
                    legend: "Rainfall"
                    xValue: new[] { "jan", "feb", "mar", "apr", "may" },
                    yValues: new[] { "20", "20", "40", "10", "10" });

.收到错误:Series 'Series1' uses non-existing legend name 'Rainfall'. Set Legend property value to Default

如果我将legend: "Rainfall"更改为legend: "Default"则会出现相同的错误。

我怎样才能让这个传说的名字存在?例如,在直接使用System.Web.UI.DataVisualization.Charting的情况下,它将看起来像这样:

        chart.Legends.Add("Legend1");
        // show legend based on check box value
        chart.Legends["Legend1"].Enabled = true;

但是如何用助手实现同样的事情呢?

ASP.NET MVC 3.0 图表助手显示图例

您需要为每个系列命名,然后调用不带参数的 AddLegend() 来添加图例。

    var chart = new Chart(width: 600, height: 250)
        .AddSeries(
            chartType: "column",
            xValue: new [] { 2010, 2011, 2012 },
            yValues: new[] { 100, 125, 150 },
            name: "Forecasts")
        .AddSeries(
            chartType: "column",
            xValue: new[] { 2010, 2011, 2012 },
            yValues: new[] { 200, 225, 250 },
            name: "Actuals")
        .AddLegend();