Asp.net mvc NET MVC图表辅助程序添加标记

Asp.net mvc NET MVC图表辅助程序添加标记,asp.net-mvc,helper,asp.net-charts,Asp.net Mvc,Helper,Asp.net Charts,我有一个柱形图,显示每个地区的总分。我想在列的顶部显示实际点。我相信这就是所谓的标记? 这是我的密码: var myChart = new Chart(width: 800, height: 500, theme: myTheme) .AddTitle("Region Report") .SetXAxis("Region") .SetYAxis("Total Points") .AddSeries("RegionReport", chartType: "Column", xValue: Mo

我有一个柱形图,显示每个地区的总分。我想在列的顶部显示实际点。我相信这就是所谓的标记? 这是我的密码:

var myChart = new Chart(width: 800, height: 500, theme: myTheme)
.AddTitle("Region Report")
.SetXAxis("Region")
.SetYAxis("Total Points")  
.AddSeries("RegionReport", chartType: "Column",
xValue: Model, xField: "Region",
yValues: Model, yFields: "TotalPoints")
.Write();

如果要显示列值或任何数据值的顶部标记,需要先创建一个系列,然后对特定系列使用IsValueShownAsLabel=true来显示值

按照您编写上述控制器函数的方式,您将无法显示它,因为图表助手不支持它

下面是一个示例,说明如果使用Series,您可以如何执行此操作。将以下功能添加到控制器:

    public ActionResult ShowChart()
    {
        Bitmap image = new Bitmap(500, 50);
        Graphics g = Graphics.FromImage(image);
        System.Web.UI.DataVisualization.Charting.Chart myChart = new System.Web.UI.DataVisualization.Charting.Chart();
        myChart.Width = 600;
        myChart.Height = 300;
        myChart.ChartAreas.Add("xSeries").BackColor = System.Drawing.Color.FromArgb(64, System.Drawing.Color.White);
        // create a couple of series  
        myChart.Series.Add("xSeries");
        // add points to xSeries  
        myChart.Series["xSeries"].Points.AddY(83);
        myChart.Series["xSeries"].Points.AddY(49);
        myChart.Series["xSeries"].Points.AddY(94);
        myChart.Series["xSeries"].Points.AddY(65);
        // add points to ySeries  
        myChart.Series["xSeries"].IsValueShownAsLabel = true;
        myChart.BackColor = Color.Transparent;
        MemoryStream imageStream = new MemoryStream();
        myChart.SaveImage(imageStream, ChartImageFormat.Png);
        myChart.TextAntiAliasingQuality = TextAntiAliasingQuality.SystemDefault;
        Response.ContentType = "image/png";
        imageStream.WriteTo(Response.OutputStream);
        g.Dispose();
        image.Dispose();
        return null;
    }
然后在您的视图中按如下方式调用它:

<img src="@Url.Action("ShowChart")" alt="MyChart" />

如果要显示列值或任何数据值的顶部标记,需要先创建一个系列,然后对特定系列使用IsValueShownAsLabel=true来显示值

按照您编写上述控制器函数的方式,您将无法显示它,因为图表助手不支持它

下面是一个示例,说明如果使用Series,您可以如何执行此操作。将以下功能添加到控制器:

    public ActionResult ShowChart()
    {
        Bitmap image = new Bitmap(500, 50);
        Graphics g = Graphics.FromImage(image);
        System.Web.UI.DataVisualization.Charting.Chart myChart = new System.Web.UI.DataVisualization.Charting.Chart();
        myChart.Width = 600;
        myChart.Height = 300;
        myChart.ChartAreas.Add("xSeries").BackColor = System.Drawing.Color.FromArgb(64, System.Drawing.Color.White);
        // create a couple of series  
        myChart.Series.Add("xSeries");
        // add points to xSeries  
        myChart.Series["xSeries"].Points.AddY(83);
        myChart.Series["xSeries"].Points.AddY(49);
        myChart.Series["xSeries"].Points.AddY(94);
        myChart.Series["xSeries"].Points.AddY(65);
        // add points to ySeries  
        myChart.Series["xSeries"].IsValueShownAsLabel = true;
        myChart.BackColor = Color.Transparent;
        MemoryStream imageStream = new MemoryStream();
        myChart.SaveImage(imageStream, ChartImageFormat.Png);
        myChart.TextAntiAliasingQuality = TextAntiAliasingQuality.SystemDefault;
        Response.ContentType = "image/png";
        imageStream.WriteTo(Response.OutputStream);
        g.Dispose();
        image.Dispose();
        return null;
    }
然后在您的视图中按如下方式调用它:

<img src="@Url.Action("ShowChart")" alt="MyChart" />

System.Web.UI.DataVisualization.Charting.Chart图表比MVC图表助手具有更多的功能。这也是我的首选,因为MVC辅助程序的功能有限。System.Web.UI.DataVisualization.Charting.Chart图表比MVC图表辅助程序具有更多的功能。这也是我的偏好,因为MVC助手的能力有限。