2010-07-08 70 views
1

我目前正在使用通过Open Flash Charts(我相信版本1,可能是第2版...)使用PHP实现的条形图。不幸的是,我们遇到真正的麻烦,工具提示没有显示正确的东西。我试图让它显示悬停栏的x轴标签,然后是“:”,然后是栏的值。代码如下:打开Flash图表 - 工具提示#x_label#不显示

$Colour = '#3465A4'; 

$BarChart= new bar(); 
$BarChart->set_values($Bar); 
$BarChart->set_colour($Colour); 
$BarChart->set_tooltip('#x_label#:#val#'); 

$x_labels = new x_axis_labels(); 
$x_labels->set_labels($Roles); 
$x_labels->rotate(-60); 

$x = new x_axis(); 
$x->set_labels($x_labels); 

$chart = new open_flash_chart(); 
$chart->add_element($BarChart); 
$chart->set_bg_colour('#FFFFFF'); 
$chart->set_x_axis($x); 

$tooltip = new tooltip(); 
$tooltip->set_hover(); 

$chart->set_tooltip($tooltip); 

$JSONArray['my_chart_1'] = $chart->toPrettyString(); 

据我所知,这应该是正确的 - 出现的条形图,以正确的值(从$酒吧,其产生并不如上图所示填充)。但是,列悬停工具提示只显示“:value” - 标签名称已丢失!

有谁知道我们可能出错的地方,我该如何解决?

编辑:

任何赏金猎人进来,试图回答这个问题的最新情况。我没有接受下面的答案的原因是它只提供了一个解决方法,并没有解释为什么解决方法是必要的。我正在寻找对我原来的问题的答案(如何使标签显示在正常条形图),或者为什么必须使用堆叠条形图的一个合理的解释(包括来源使您的答案更好!)。如果后者,示例代码或如何创建堆栈图表的解释将非常感激!

回答

1

如果您对简单的酒吧视觉效果感到满意,那么使用堆叠酒吧(将其与一个元素的数组一起使用将会像简单酒吧一样绘制它)。那个会正确地取代#x_label#。
或者,您可以将缺少的代码从Bars/Stack.as复制到其他栏类型并重新编译代码。

+0

那么,这是一个已知的问题,#x_label#不能正常工作吗? – Stephen 2010-07-13 10:10:41

1

按照:http://forums.openflashchart.com/viewtopic.php?p=7433#p7433 这是OFC2在最新版本(至少)中的一个错误。我发现了#x_label#引起的问题,但是我对代码/ Flash的理解还不足以知道它为什么发生/中断。 我已经做了一个快速修复,我需要测试更多,但它现在可以在条形图上工作。假设我没有破坏其他任何东西而无法修复,它将成为下一个社区发布的途径。 如果有人想在下一个版本之前更改源代码,请告诉我。

(我目前正在维护社区发布)