在图表.net mvc3中设置间隔

时间:2012-01-02 16:22:41

标签: asp.net-mvc-3 charts

我想在mvc3 .net c#中将我的图表上的间隔设置为1(使用System.Web.Helpers)。 我无法找到图表属性来设置间隔,以便x / yValues显示所有标签。 代码如下:

Chart key = new Chart(width: 600, height: 400)
                .AddSeries(
                    chartType: "bar",
                    legend: "Rainfall",
                    xValue: xVal, //new[] { "Jan", "Feb", "Mar", "Apr", "May" },
                    yValues: yVal
                    ) //new[] { "20", "20", "40", "30", "10" })
                .AddTitle("Chart Success Rate")
                .Write("png");

任何帮助都会非常感激。

感谢。

1 个答案:

答案 0 :(得分:9)

您可以使用“主题”字符串执行此操作。我已用它测试过了。

只需在主题xml中添加Interval =“”1“”。

请看这篇文章:http://forums.asp.net/t/1807781.aspx/1见6楼回复(2012年5月27日上午11:23)

我的测试代码:

public ActionResult GetChartCategoryCountList1()
{
    string temp = @"<Chart>
                      <ChartAreas>
                        <ChartArea Name=""Default"" _Template_=""All"">
                          <AxisY>
                            <LabelStyle Font=""Verdana, 12px"" />
                          </AxisY>
                          <AxisX LineColor=""64, 64, 64, 64"" Interval=""1"">
                            <LabelStyle Font=""Verdana, 12px"" />
                          </AxisX>
                        </ChartArea>
                      </ChartAreas>
                    </Chart>";

    using (var context = new EdiBlogEntities())
    {
        var catCountList = context.GetCategoryCountList().ToList();

        var bytes = new Chart(width: 850, height: 400, theme: temp)
            .AddSeries(
                        xValue: catCountList.Select(p => p.DisplayName).ToArray(),
                        yValues: catCountList.Select(p => p.PostCount).ToArray()
                      )
            .GetBytes("png");

        return File(bytes, "image/png");
    }
}