我正在asp.net-mvc4
中开发一个Visual Studio-2010
Web应用程序,我在其中从SQL服务器访问数据并制作一些行和pie-charts
以获得更好的交互式视图。折线图没有任何问题,工作正常。我还需要使pie-chart
三个值进行比较。我按以下方式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
内的文字。我怎么才能在图表外面显示图例内的图例值。
答案 0 :(得分:0)
我仍在等待我的问题的解决方案,但我通过另一种方式生成pie-chart
。由此生成图是自动化的。我无法手动进行一些更改。例如,当鼠标悬停在图表上时,它会显示图表上的百分比值。它还会舍入该部分的值,这也很烦人。有没有办法在谷歌脚本中停止?我使用谷歌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>
和情节看起来像
答案 1 :(得分:0)
假设图表中只有一个系列,如果要隐藏其标签,请尝试此操作。
c.Series[0]["PieLabelStyle"] = "Disabled";
看看是否能解决问题。