我正在使用PHP通过Open Flash Charts(我相信版本1,可能是版本2 ......)实现的条形图。不幸的是,我们在工具提示中没有显示正确的东西时遇到了麻烦。我试图让它显示悬停列的x轴标签,然后是“:”,然后是条形的值。代码如下:
$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();
据我所知,这个应该是正确的 - 条形图出现,具有正确的值(从$ bar填充,其生成未在上面显示)。但是,列的悬停工具提示仅显示“:value” - 缺少标签名称!
有谁知道我们可能出错的地方,以及我如何解决它?
修改
任何赏金猎人的更新,试图回答这个问题。我没有接受以下答案的原因是它只提供了解决方法,并没有解释为什么需要解决方法。我正在寻找我原始问题的答案(如何使标签显示在正常条形图中),或者为什么必须使用堆积条形图(包括来源制作)的合理解释你的答案好多了!)如果后者,示例代码或如何创建堆积图表的解释也将非常受欢迎!
答案 0 :(得分:1)
如果您对简单的条形视觉效果感到满意,那么请使用堆叠条(使用一个元素的数组将其绘制就像简单条形图一样)。那个将正确替换#x_label#。
或者,您可以将缺少的代码从Bars / Stack.as复制到其他栏类型并重新编译代码。
答案 1 :(得分:1)
根据:http://forums.openflashchart.com/viewtopic.php?p=7433#p7433 这是最新版本OFC2中的一个错误(至少)。我已经找到了导致#x_label#问题的原因,但我对代码/ Flash的理解还不足以知道它为什么会发生/破坏。 我做了一个快速修复,我需要测试更多,但它现在适用于条形图。假设我没有破坏任何其他无法修复的东西,它将进入下一个社区版本。 如果有人想在下一个版本发布之前更改源代码,请告诉我。
(我目前正在维护社区版本)