TeeChart for PHP教程(二):图表的显示方法(上)

    TeeChart for PHP包含100%的PHP源代码。它支持PHP5及更高的版本。它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用。第一个版本提供17种图表类型(2D和3D的多种组合),11个数学函数和一些图表工具组件以扩展功能。

点击下载TeeChart for PHP试用版


    本教程是TeeChart for PHP教程中图表的显示方法这一节。图表显示功能是影响图表整体外观的一个功能,它们包括定义图表背景颜色的属性和方法,标题及其位置,边距,边框和斜面等,所有这些方法都可以在运行时通过代码获得,整体图表外观特征分为以下类别,(本节介绍前四个类别,点击此处可查看后半部分教程):

  • General

  • Axis/轴

  • Titles/标题

  • Legend

  • Panel

  • Paging

  • Walls 3D

    其他方法会影响图表的外观,这些包括系列颜色和标记特征,单独的轴和网格显示方法和标签。这些将在之后的教程中得到解决,如果您想要了解,可以多多关注本教程。


在讲述具体的方法之前,我们来看一看图表显示方法的入门介绍:

    将新图表添加到表单,您将看到它以3D显示,灰色面板背景,2个墙(底部和左侧),框架(定义图表的可绘制区域的框架)和默认的图表标题标题TeeChart。

demo1.png

    好了,接下来是真正教程的开始。

    所有TeeChart for PHP类都包含__get()和__set()拦截器,这意味着您可以在获取或设置方法名称之前添加get和set的值,例如:

$tChart1->getPanel()->setMarginBottom(10);

或者下面这种:

$tChart1->panel->marginBottom=10;

General 图表方式

边距

    边距定义为图表边框和图表框架之间的距离,并表示为图表面板总体尺寸的百分比。

运行:

$tChart1->getPanel().setMarginBottom();
$tChart1->getPanel().setMarginLeft();
$tChart1->getPanel().setMarginRight();
$tChart1->getPanel().setMarginTop();

Axis/轴方式

    轴的控制是一个非常复杂的领域,这里我们将介绍Axis和Frame显示的基础知识,想要了解更多自定义轴的信息,可以继续关注TeeChart for PHP教程,后面将会有Axis教程。

  图表中有5个轴:左,上,右,下和深度。 图表框显示为环绕在图表可绘制区域,并且没有数据对应的功能,默认情况下,Depth初始化为不可见。从系列添加图表并与这些轴相关联的那一刻开始(默认为左和底),所有其他轴都是可见的,可以使用对话框上的+和 - 键添加/删除自定义轴。要使自定义轴可见(与任何其他轴一样),系列必须与轴关联。

    启用轴和框架显示的关键方法是:

Visible/可见

    此属性将会启用或禁用所有轴的显示。如果后墙框架可见,则隐藏轴时图表环绕仍然可见,最后将会显现更大的图表外观,这是因为没有为轴标签保留区域,每个轴的Visible方法都将覆盖每个轴的可见特征。

运行:

$tChart1->getAxes()->setVisible(true);

Axis:左,上,右,下和可见深度

 

    选择要显示或隐藏的轴,并设置该特定轴的Visible属性,最后运行。

例,一次隐藏所有轴:

$tChart1->getAxes()->setVisible(false);

隐藏特殊轴:

$tChart1->getAxes()->getLeft()->setVisible(false);

Titles/标题方式

标题:图表标题,页眉和页脚。有不同的选项(Title,Foot,SubTitle或SubFoot),设置所需要的文本(您可以输入多行标题)。

运行:

$tChart1->getHeader()->setLines(new String[] {"Welcome to", "TeeChart", "for PHP"});

您可以在标题中添加几行文字:

$tChart1->getChart()->getTitle()->setText("Title revised");

风格对齐

    对齐是指与图表区域相关的页眉(或页脚)对齐而不是整个图表面板。图表区域是图表加上轴标签和图例的可绘图区域。

$tChart1->getChart()->getTitle()->setAlignment(StringAlignment::$HORIZONTAL_CENTER_ALIGN);

位置

    使用位置覆盖页眉或页脚默认位置并设置自定义位置(与图表顶部,左侧的像素关系)。

$tChart1->getChart()->getTitle()->setCustomPosition(true);
$tChart1->getChart()->getTitle()->setTop(30);

刷子

    包含标题框的设置,例如框架,背景颜色等。

例:图案

    模式指的是标题或页脚框前景模式的背景。

截图未命名.jpg

    默认为清除,选定的图案将位于文本后面。

$tChart1->getHeader()->getBrush()->setStyle(HatchStyle::$FORWARDDIAGONAL);

字形

字体文字特征。

例:字形

ChartFont类允许选择Windows字体和样式(斜体,粗体等)和颜色的定义。

$baseDir = dirname(__FILE__) . "/../";
$tChart1->getFooter()->getFont()->setName($baseDir . "fonts/DejaVuSansCondensed.ttf");
$tChart1->getFooter()->getFont()->setBold(true);

梯度

    在标题框中启用/禁用背景渐变。

Legend方法

   Legend类包含允许定义Legend外观方面的所有方法。重要的初始步骤是知道如何控制图例对齐和可见方法,颜色,字体,框架,阴影等(图例内容将在后面的教程中处理)。

样式

Legend风格

图例可以以多种样式显示,例如,只需将系列的系列名称显示在图表中,持续显示已绘制的值,第一个系列的Y值等等。要更改图例样式,您可以使用:

 $tChart1->getLegend()->setLegendStyle(LegendStyle::$SERIES);

划分线

用于在图例条目之间的图例框中绘制线条,ChartPen方法适用。

运行:

$tChart1->getLegend()->getDividingLines()->setVisible(true);
$tChart1->getLegend()->getDividingLines()->setColor(Color::BLUE());

位置

    设置默认显示位置或启用图例的自定义位置。TChart将改变图例的形状以适合该位置,如果图例设置为图表的侧面(左侧或右侧),默认情况下,图例的内容将从上到下列为列表;如果图例位于图表下方或上方,则图例内容并排放置。可以使用调整大小图表选项和/或使用自定义定位来覆盖默认行为。 

例:ResizeChart

    调整大小图表会在图表绘制时显示是否为图例留出空间, 这允许图例放置在图表区域内。

运行:

$tChart1->getLegend()->setResizeChart(true);

顶部位置

    从图表面板的顶部定义图例框的位移。

运行:

$tChart1->getLegend()->setTopLeftPos(20);

符号

    图例符号的大小和格式。

颜色宽度

    定义图例中颜色框的宽度。

运行:

$tChart1->getLegend()->setColorWidth(40);

格式

    包含标题框的设置,例如 框架,背景颜色等

例:阴影

    用于显示Legend框阴影的方法,您可以定义颜色和大小。

运行:

$tChart1->getLegend()->getShadow()->setColor(Color::YELLOW);

文本

图例文本内容的文本特征。

运行:

$tChart1->getLegend()->setColor(Color::BLUE);
$tChart1->getLegend()->getFont()->setName($baseDir . "fonts/DejaVuSansCondensed.ttf");
$tChart1->getLegend()->getFont()->setColor(Color::YELLOW());

梯度

    在标题框中启用/禁用背景渐变。

    本节教程就到这里,下一节内容,我们会继续介绍图表的显示方法:Panel、Paging和Walls 3D,如果您有任何的疑问或者建议,也可以在评论区留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值