【问题标题】:Add legend to the chart control of c#在c#的图表控件中添加图例
【发布时间】:2014-11-20 05:34:00
【问题描述】:

我正在Visual Studio-2010 中开发一个asp.net-mvc4 Web 应用程序,在该应用程序中我从SQL 服务器访问数据并制作一些行和pie-charts 以获得更好的交互式视图。折线图没有任何问题并且工作正常。我还需要将pie-chart amonth 三个值进行比较。我制作了一个pie-chart 我的数据如下

var c =  new Chart(width: 450, height: 350)
            //.AddTitle("Energy Consumption Plot")
            .AddLegend("E - Maschine", "Nebenverbraucher", "PTC")
            .AddSeries(
            chartType: "Pie",

            yValues: new[] {Maschine, Nebenverbraucher, PTC})
            .GetBytes("png")
            ;

        return File(c, "image/png");

下图显示了上面代码生成的pie-chart

由于我在饼图中有三个不同的变量,我想在图例中查看所有变量,但它只显示第一个。为什么显示积分?

后来,我修改了代码,我用下面的代码启用了xValue,

 var c =  new Chart(width: 450, height: 350)
            //.AddTitle("Energy Consumption Plot")
            .AddLegend()
            .AddSeries(
            chartType: "Pie",
            xValue: new[] { "E - Maschine", "Nebenverbraucher", "PTC" },
            yValues: new[] {Maschine, Nebenverbraucher, PTC})
            .GetBytes("png")
            ;

        return File(c, "image/png");

输出变成

看起来不错,但是现在又发生了一件不想要的事情,我不想看到pie-chart里面的文字。我怎么能只在图表之外而不在里面显示图例值。

【问题讨论】:

  • 这是哪个图表库?
  • 它的C#图表库
  • 我不明白输出的图片和你想要的有什么不同。
  • @DanielA.White 是的,它是 MSChart
  • @gunr2171 很奇怪。我只想显示我的变量 agians 颜色的所有三个名称。如果我启用当前评论的 xValue,我会得到所有三个,但在图片中。我已经编辑了启用 xValue 的问题,请检查。

标签: c# charts data-visualization mschart


【解决方案1】:

我仍在等待我的问题的解决方案,但我通过另一种方式生成了pie-chart。由此生成图是自动的。我无法手动进行一些更改。例如,当鼠标悬停在图表上时,它会在图表上显示百分比值。它还四舍五入了该部分的价值,这也很烦人。有什么办法可以在谷歌脚本中停止四舍五入?我使用 google javascript 制作饼图。这个情节更有活力,也有很好的能见度。

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("visualization", "1", { packages: ["corechart"] });
    google.setOnLoadCallback(drawChart);
    function drawChart() {


      var EMachine = 0.0;
      var Neben = 0.0;


        var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['E-Maschine', @ViewBag.EMachine],
      ['Nebenverbraucher', @ViewBag.Neben],
      ['PTC', @ViewBag.ptc],
      ]);

        var options = {
            title: ''
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data, options);
    }
</script>

情节看起来像

【讨论】:

    【解决方案2】:

    假设你的图表中只有一个系列,如果你想隐藏它的标签,试试这个。

    c.Series[0]["PieLabelStyle"] = "Disabled";
    

    看看这能不能解决问题。

    【讨论】:

      猜你喜欢
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多