没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2019-08-01 09:50:40.900|阅读 362 次
概述:本教程将会介绍系列的架构和编程。主要的内容分为系列类型,在图表上可混合系列类型,系列价值表和系列事件,而本节主要介绍的是在图表上可混合系列类型,系列价值表和系列事件。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
TeeChart for PHP包含100%的PHP源代码。它支持PHP5及更高的版本。它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用。第一个版本提供17种图表类型(2D和3D的多种组合),11个数学函数和一些图表工具组件以扩展功能。
本教程是TeeChart for PHP教程中与系列一起工作这一节。本章节的内容主要分为以下几个部分:
系列类型
在图表上可混合系列类型
系列价值表
系列事件
上一节我们介绍到了与系列一起工作(上)的系列类型,这一章节我们会接着介绍这一部分内容的下篇,内容包括在图表上可混合系列类型,系列价值表和系列事件。
在图表上可混合系列类型
TeeChart Pro提供了一个空的Chart Canvas作为数据系列的背景,这意味着没有预定义图表类型,但是您可以将所需的图表类型定义为要显示的系列类型的混合。由于某些系列类型的特殊性质,在图表上混合使用一些系列类型是不切实际的。当您到达添加新系列这一步骤时,TeeChart会通过在图表库中显示不适合的系列类型标识来帮助您。您可以在一个图表中放置的系列数量是没有实际限制。
添加新系列
使用图表编辑器(参见教程1)或按代码添加系列。
$bar1 = new Bar($tChart1->getChart()); $bar1->fillSampleValues(10);
选择系列的轴
添加到图表中的系列将自动将左轴和下轴作为参考轴。您可以更改参考轴,有4个轴可用:顶部,左侧,底部和右侧。通过代码,更改轴将如下所示:
$bar1->setHorizontalAxis(HorizontalAxis::$TOP); $bar1->setVerticalAxis(VerticalAxis::$RIGHT);
每个轴都可以关联1个以上的系列。TeeChart将决定适合与轴匹配系列的最佳比例,但您可以自己更改轴的Scales(参见轴控制的Scales部分)。可以添加附加轴,它们将复制与前4个轴相对应的刻度(参见轴控制的附加轴部分)。
连接系列
您能够把一个系列当做另一个系列的数据源,通过以下代码完成:
$bar1 = new Bar($tChart1->getChart()); $bar1->fillSampleValues(); $line1 = new Line($tChart1->getChart()); $average1 = new Average(); $line1->setFunction($average1); $line1->setDataSource($bar1); $line1->checkDataSource();
关于如何去使用Teechart函数的更多信息可以参加我们的下一章节内容—TeeChart for PHP教程(七):函数的使用。
更改系列订单
更改系列订单非常简单。系列订单将决定系列在图表中相对于其他系列的相对显示位置。使用SeriesList属性或ExchangeSeries方法能够达到这个效果。
$tChart1->exchangeSeries(0,1); //Change Series(0) with Series(1) in the index order
注意:交换Series后,系列的索引将被更改,因此,如果代码重新运行,上面的代码行将永久地交换2系列的0和1,0变为1,1变为0。
将系列设置为活动=假,系列将会从图表中隐藏,但保持其数据内容不变。
系列价值表
TeeChart系列通过TChartValueList组件将其值存储在可访问和可修改的Valuelist中。
使用值的示例
此代码需要用户的鼠标单击修改BarSeries Bar的值。
upDatePoint($valueIndex,$tChart1->getAxes()->getLeft()->calcPosPoint($e->Y));
调用UpdatePoint Sub例程来修改Bar的值:
private function upDatePoint($bar, $Y) { if($bar < $tChart1->getSeries(0)->getCount()) { $tChart1->getSeries(0)->getYValues()->setValue($bar,Y); } }
系列事件
OnGetAxisLabel
在我们想要更改或向一些或者所有轴标签添加额外文本的情况下,必须使用OnGetAxisLabel事件,它允许获取将要显示的LabelText并在需要时修改它。
在这里我们可以看到一个使用示例:
<?php //Includes include "../../../sources/TChart.php"; function handleLoad($sender, $args) { // print 'object '.get_class($sender).' loaded with '.count($args).' args!<br />'; $sender->getHeader()->setText("OnLoad Event"); } function handleUnLoad($sender, $args) { ?><br><br><?php print 'object '.get_class($sender).' unloaded with '.count($args).' args!<br />'; ?></br><?php } // Args contains axis, index order to be displayed, labelText function handleGetAxisLabel($sender, $args) { // If it's going to display left axis labels if ($args[0] === $sender->getAxes()->getLeft()) { // if the left axis label value is bigger than 50 add extra character if ((int)$args[2] > 50) { $args[0]->getLabels()->labelText = $args[2].'-e'; } } else { if ($args[0] === $sender->getAxes()->getBottom()) { if ((int)$args[2] < 4) { // if value is less than 5 changes its labeltext $args[0]->getLabels()->labelText = $args[2].'-u'; } } } } $handlers = new EventHandlerCollection(); $handlers->add(new EventHandler(new ChartEvent('OnLoad'),'handleLoad')); $handlers->add(new EventHandler(new ChartEvent('OnUnload'),'handleUnload')); $handlers->add(new EventHandler(new ChartEvent('OnGetAxisLabel'),'handleGetAxisLabel')); $chart = new TChart(500,300, $handlers); $chart->getAspect()->setView3D(false); $points = new Points($chart->getChart()); $chart->addSeries($points); $points->fillSampleValues(); $points->getPointer()->setHorizSize(10); $points->getPointer()->setVertSize(5); $points->setColorEach(true); //$chart->getLegend()->getSymbol()->setWidth(10); $chart->getLegend()->getSymbol()->setSquared(false); $chart->render('chart.png'); $rand=rand(); print '<font face="Verdana" size="2">This Demo shows how to use the OnLoad, OnUnload and OnGetAxisLabel Events<p>'; print '<img src="chart.png?rand='.$rand.'">'; ?>
到这里TeeChart for PHP教程(六)就介绍完成了,在文中我也有提到,下一节我们将会介绍TeeChart for PHP教程(七):函数的使用。如果您有任何的建议或者疑惑都可以在评论区留言哦!
TeeChart for PHP已加入在线订购,现在抢购即可享受优惠!
关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:无论是零售、物流还是医疗保健,旋转条形码图像的功能都能增强不同应用的灵活性和适应性。使用Aspose.BarCode for Java,您可以轻松旋转条形码图像,确保它们无缝融入应用程序的设计和布局。
借助Aspose.Slides for Java,开发人员可以轻松编辑 PowerPoint 幻灯片(包括表格),以增强演示文稿的效果。
VMProtect 是保护程序代码免遭分析与破解的利器,但很多开发者在实现注册机制时犯了关键性错误,使得再强大的加壳工具也难以阻挡黑客破解。本文将从注册逻辑设计、密钥验证方式、注册状态存储等多个角度,系统拆解常见误区,并结合 VMProtect 的虚拟化和加密策略,提供构建高强度注册保护的实战方案。
在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢