2011-10-07 87 views
1

我正在使用NGChart在C#中使用Googles chart API生成图表。Google图表的价值观如何?

BarChart _budgetChart = new BarChart(BarsType.Stacked, BarsDirection.Vertical, new ChartSize(500, 100), new ChartData(new int[] { 60, 20, 1 })); 

,当我使用此代码,我得到一个柱状图,看起来像这样:http://chart.apis.google.com/chart?chd=s:8UB&cht=bvs&chs=500x100

我居然没有任何IDEO为什么酒吧是全尺寸与值60。我宁愿使用百分比数据值,因此,例如,值100绘制一个条到最顶端,值为50绘制一个具有半高度的条(在本例中为50px,因为我的图是100px高) - 我该怎么做?我没有在NGChart的文档中找到任何内容。

GoogleChartSharp API以同样的方式做它,所以我认为可能有一个特殊的属性或者像我必须设置的那样。

编辑:我不明白..我试了最大值,这是61.在这张图表中,前3个值是10,最后一个是61,所以61是最高值,适用于正确的输出。如果该值高于61(在本例中为62),则整个图表将缩小。

实施例1(数值61):http://chart.apis.google.com/chart?chd=s:KKK9&cht=bvs&chs=300x100 实施例2(数值62):http://chart.apis.google.com/chart?chd=e:AKAKAKA-&cht=bvs&chs=300x100

我根本不明白谷歌如何处理的值。

回答

0

我无法找到有关NGChart财产的任何信息,但可以建议此变通办法: 你可以绘制的100值了吧,但这样做在透明色

BarChart _budgetChart = new BarChart(BarsType.Stacked, BarsDirection.Vertical, 
new ChartSize(500, 100), 
new ChartData(new int[] { 60, 20, 1, 100 })); 
_budgetChart.Colors = new ChartColors(new[] {Color.Red,Color.Red,Color.Red,Color.Transparent}); 

这应该给你期望的结果,但它解决方法thogh ...所以要小心=)

+0

好吧,谢谢,但这并没有奏效。看到我的第一篇文章,我编辑了一些信息。如果最高值大于61,则图表会缩放。所以,如果我画一个值为100的条,那么无论条是透明还是不透明,图都会缩放。 – Nick