【问题标题】:How can I have a single column on a column chart using MSCharts (within an Asp.Net application)?如何使用 MSCharts(在 Asp.Net 应用程序中)在柱形图上有单列?
【发布时间】:2015-05-12 03:13:37
【问题描述】:

我正在使用以下代码生成图表:

public ActionResult GenerateChart()
{
    var chart = new Chart();
    chart.AntiAliasing = AntiAliasingStyles.All;
    chart.TextAntiAliasingQuality = TextAntiAliasingQuality.High;
    chart.Width = 500;
    chart.Height = 400;

    ChartArea area = new ChartArea();
    area.AxisY.LabelStyle.Format = "{0:c}";

    chart.ChartAreas.Add(area);

    Series serie = new Series();
    serie.ChartType = SeriesChartType.Column;
    serie.Points.DataBindXY(data, "Year", data, "Amount");
    chart.Series.Add(serie);

    using (var stream = new MemoryStream())
    {
        chart.SaveImage(stream, ChartImageFormat.Jpeg);
        return File(stream.ToArray(), "image/jpeg");
    }
}

这是一个简单的柱形图,其中包含每年(X 轴)金额总和(Y 轴)的数据。

测试代码时提供的 data 变量只有一项。该项目代表 2015 年,金额略高于 9.000(没有双关语)。

从下面生成的图像可以看出,尽管只有 1 年的数据,但图表会自动添加上一年和下一年。

我怎样才能只显示 2015 年?或者至少以编程方式隐藏这些点/标签?为什么要添加这些信息?

提前致谢。

【问题讨论】:

  • Chart 的网络版似乎没有任何可以操作 XAxis 或标签的属性或方法。也许,可以覆盖一些与渲染相关的方法以获得所需的外观。还有,我自己没试过,你可以试试看web page Chart helper

标签: asp.net .net asp.net-mvc charts mschart


【解决方案1】:

尝试使用

禁用 X 轴上的边距

area.AxisX.IsMarginVisible = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多