提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2019-07-29 09:58:03.030|阅读 297 次
概述:TeeChart for PHP将自动为您定义所有轴标签,并拥有足够的灵活性来定制您可能的任何特定要求。它提供真正的多轴,具有无数的可能性和轴定义的灵活性,本教程就将会介绍高级轴设计技术。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
TeeChart for PHP包含100%的PHP源代码。它支持PHP5及更高的版本。它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用。第一个版本提供17种图表类型(2D和3D的多种组合),11个数学函数和一些图表工具组件以扩展功能。
本教程是TeeChart for PHP教程中轴控制这一节。本章节的内容主要分为以下几个部分:
轴控制 - 关键领域
Scales
增量
标题和标签
Ticks
轴位置
附加轴
复制轴
多个自定义轴
轴控制 - 关键领域
Scales
将Series数据添加到Chart时,会自动设置轴刻度。您可以使用轴方法在运行时更改默认值。
自动选择最佳轴刻度范围以适合您的数据,如果关闭自动按钮,缩放部分将激活选项,您可以更改轴值。重要的是,请记住从页面左侧的轴列表中选择要配置的轴。
将一个系列添加到图表,然后使用以下代码添加一个按钮:
$tChart1->removeAllSeries(); $tChart1->addSeries(new Line()); $tChart1->getSeries(0)->fillSampleValues(40);
在按钮中运行代码将绘制一个包含40个随机值的Line Series。您现在可以配置轴刻度的最大值和最小值。
$tChart1->getAxes()->getBottom()->setMinMax(0,10);
您可以将Axis scale Maximum和Minimum设置为自动单独运行。 例如:
$tChart1->getAxes()->getBottom()->setAutomatic(false); $tChart1->getAxes()->getBottom()->setAutomaticMaximum(true); $tChart1->getAxes()->getBottom()->setMinimum(2);
增量
您可以定制轴的间隔,设置所需的增量:
$tChart1->getAxes()->getBottom()->setIncrement(20);
日期时间数据
如果您的数据是日期时间(您可以通过指定XValues或YValues为dateTime,然后将数据设置为系列的DateTime),则图表,轴页面和比例部分将显示日期时间范围。您也可以更改所需的增量。
在这里你可以看到一个散点图示例代码:
getHeader()->setText("Scatter Plot"); $chart->getPanel()->getGradient()->setVisible(false); $chart->getAspect()->setView3D(false); $panel=$chart->getPanel(); $panel->getBevel()->setInner(BevelStyle::$NONE); $panel->getBevel()->setOuter(BevelStyle::$NONE); $panel->getPen()->setColor(new Color(120,120,120)); $panel->getPen()->setVisible(true); $line = new Line($chart->getChart()); // Adding DateTime data $today = gettimeofday(true); $days7 = 7 * 86400; $days2 = 2 * 86400; $end_date = $today + $days7; $end_task2= $end_date + $days7 ; $chart->getChart()->getSeries(0)->getXValues()->setDateTime(true); $chart->getChart()->getAxes()->getBottom()->getLabels()->setAngle(45); $chart->getChart()->getAxes()->getBottom()->getLabels()->setRoundFirstLabel(false); // If you want to set a datetime format... // $chart->getChart()->getAxes()->getBottom()->getLabels()->setDateTimeFormat('d-m-y h:m:s'); $line->addXY($today,30); $line->addXY($today+86400,32); $line->addXY($today+$days2,20); $line->addXY($end_date+$days7+$days7,8); $line->addXY($end_date+$days7+$days7+$days2,18); $line->addXY($end_date+$days7+$days7+$days7,10); $line->getLinePen()->setWidth(3); $pointer=$line->getPointer(); $pointer->setVisible(true); $pointer->setStyle(PointerStyle::$CIRCLE); $pointer->getBrush()->setColor(Color::getWhite()); $pointer->getPen()->setColor($line->getColor()); $pointer->getPen()->setWidth(2); $chart->getPanel()->getBorderPen()->setVisible(false); $chart->render("chart1.png"); $rand=rand(); print 'Scatter Plot'; print ''; ?>
在运行时更改增量:
$tChart1->getAxes()->getBottom()->setIncrement(DateTimeSteps::$ONEWEEK);
有关日期轴标记的更多信息,请参见Axis-> ExactDateTime属性。
注意:更改轴标签频率时,请记住TeeChart将根据LabelsSeparation方法的设置避免标签重叠。这意味着如果标签频率太高而没有起到标签的作用,那么TeeChart将分配最佳匹配。更改标签角度和标签分离是2个选项,可帮助您安装所需的标签。这部分请参阅后面的标签部分和LabelsAngle方法。
标题和标签
标题
标题在轴页面的标题部分设置,您可以更改轴及其字体的标题文本,角度可以从值0,90,180,270度中选择。
标签
标签格式
您可以将所有标准数字和日期格式应用于轴标签。轴页面的标签部分包含值格式字段。如果您的数据是datetime,则字段名称将更改为Date time format。在运行时使用:
$tChart1->getAxes()->getBottom()->getLabels()->setValueFormat("#,##0.00;(#,##0.00)"); //or for Datetime data $tChart1->getAxes()->getBottom()->getLabels()->setDateTimeFormat("d-m-y h:i:s");
MultiLine标签
轴标签可以显示为多行文本而不只是单行文本。用TeeLineSeparator全局常量分隔行,该常量默认为回车符ascii字符(#13)。例如:
//Add the Series labels in this way and apply 'Marks' as Axis labelling style $tChart1->getSeries(0)->addYTextColor(1234, "New cars", Color::BLUE() ); $tChart1->getSeries(0)->addYTextColor(2000, "Old bicycles", Color::GREEN()); $tChart1->getPanel()->setMarginBottom(10);
DateTime标签的示例:
有3种刻度类型。您可以更改每种刻度类型的长度,宽度和颜色。如果刻度线宽度设置为1(默认值),则可以将样式更改为多种线型之一(点,短划线等)。如果width大于1,则将忽略样式。
$tChart1->getAxes()->getBottom()->getTicks()->setLength(7); $tChart1->getAxes()->getBottom()->getTicks()->setColor(Color::GREEN()); $tChart1->getAxes()->getBottom()->setMinorTickCount(10);
轴位置
轴有一种方法可以修改每个轴的位置,在此示例中,轴会移动到图表总宽度的50%,因此它显示在图表中心:
$tChart1->getAxes()->getLeft()->setRelativePosition(50);
附加轴
复制轴
TeeChart提供5个轴与数据系列相关联:左,上,下,右和深。向图表添加新系列时,您可以定义系列应与哪些轴相关。
在此示例中,TeeChart将绘制一个新轴,一个水平,一个垂直位于图表的中心。
多个自定义轴
与PositionPercent和拉伸属性一起,可以在图表上的任何位置浮动无限轴。现在可以通过几行代码在运行时创建额外的轴:
$tChart1 = new TChart(500,300); $line1 = new Line(); $line2 = new Line(); $tChart1->getAspect()->setView3D(false); $tChart1->getHeader()->setText("TeeChart Multiple Axes"); $tChart1->addSeries($line1); $tChart1->addSeries($line2); for($t = 0; $t addXYColor($t, (10 + $t), Color::RED()); if($t > 1) { $line2->addXYColor($t, $t, Color::GREEN()); } } $tChart1->getAxes()->getLeft()->setStartPosition(0); $tChart1->getAxes()->getLeft()->setEndPosition(50); $tChart1->getAxes()->getLeft()->getAxisPen()->color = Color::RED(); $tChart1->getAxes()->getLeft()->getTitle()->getFont()->setColor(Color::RED()); $tChart1->getAxes()->getLeft()->getTitle()->getFont()->setBold(true); $tChart1->getAxes()->getLeft()->getTitle()->setText("1st Left Axis");
然后,您可以使用StartPosition和EndPosition方法将新轴与图表的整体关系来定位。这些数字表示为图表矩形的百分比,其中0/零(在垂直轴的情况下)为Top。这些属性可以应用于标准轴,以在图表中创建完全分区的子图表。
$axis1 = new Axis(false, false, $tChart1->getChart()); $tChart1->getAxes()->getCustom()->add($axis1); $line2->setCustomVertAxis($axis1); $axis1->setStartPosition(50); $axis1->setEndPosition(100); $axis1->getAxisPen()->setColor(Color::GREEN()); $axis1->getTitle()->getFont()->setColor(Color::GREEN()); $axis1->getTitle()->getFont()->setBold(true); $axis1->getTitle()->setText("Extra Axis"); $axis1->setRelativePosition(20);
上面的编码示例将显示以下图表:
注意:使用自定义轴时要小心,因为很容易会用新轴填充屏幕并且无法跟踪您想要管理的轴。
TeeChart for PHP已加入在线订购,现在抢购即可享受优惠!
关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢