如何在MVC5图表的列顶部添加值?

时间:2016-11-15 13:47:06

标签: c# .net charts asp.net-mvc-5 label

我已经创建了一个基本的.net MVC 5应用程序,并使用System.Web.Helpers根据www.asp.net HERE上的信息生成柱形图。

页面上的示例显示了列顶部的标签,其中包含该字段的实际值。(抱歉,尝试上传图片,但我没有足够高的代表来嵌入图片)。< / p>

下面的代码在浏览器中生成图表就好了,但是,我似乎无法找到在示例中显示的栏顶部添加实际值的方法。

LINQ查询正在填充X和Y轴值。

我生成的结果给出了我们需要的东西,除了列上方的实际值...

甚至可以使用这种创建图表的方法吗?如果是这样,我错过了什么?

查看

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<div>
    <img src="@Url.Action("ChartColumn")" alt="theChart" />

</div>

控制器:

public ActionResult ChartColumn()
    {
        var xValue = new ArrayList();
        var yValue = new ArrayList();

        var results = _context.SurveyResponses.DistinctBy(m => m.Q1).ToList();
        results.ToList().ForEach(rs => xValue.Add(rs.Q1));
        results.ToList().ForEach(rs => yValue.Add(rs.Q1.Length));


        new System.Web.Helpers.Chart(width: 800, height: 400, theme: ChartTheme.Blue)
            .AddTitle("Answers")
            .AddSeries(chartType: "Column", xValue: xValue, yValues: yValue)
            .Write("png");



        return null;
    }

1 个答案:

答案 0 :(得分:1)

为此,您必须提供自己的自定义图表主题。特别是,请创建IsValueShownAsLabel="true",如下例所示:

 var myChart = new Chart(width: 600, height: 400, themePath: "MyTheme2.xml")
            .AddTitle("Product Chart")
            .AddSeries(
            name: "Products",
            xValue: data, xField: "productname",
            yValues: data, yFields: "quantity")
            .Save("~/Images/Chart01.png", "png");

<强> MyTheme2.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Chart>
  <ChartAreas>
    <ChartArea Name="Default">
      <AxisX>
        <MajorGrid Enabled="false"></MajorGrid>
      </AxisX>
    </ChartArea>
  </ChartAreas>
  <Series>
    <Series Name="Products" IsValueShownAsLabel="true"></Series>
  </Series>
</Chart>

enter image description here