在teechart中更改笔的厚度为php

时间:2013-06-28 12:28:49

标签: php html5 builder teechart

我正在使用Embarcadero的HTML5构建器(php)和TeeChart来绘制图形。适用于大多数零件,工作精美。然而,PHP的TeeChart文档至少可以说很少 - 很多试验和错误。我找不到设置折线图的笔厚度的方法。 Google上没有任何内容。谁知道谁?

此外,如果使用条形图,可以认为以下代码段应禁用每个条形上的注释标记:

$series1=$this->Chart2->addSeries(new TeeBar($this));
$series1->Marks->Visible = false;

没有。 Marks->Visible没有做任何事情。仍会显示默认标记。

1 个答案:

答案 0 :(得分:1)

如果您在HTML5 Builder XE3中使用TeeChart for PHP

  

我找不到设置折线图的笔厚度的方法。没有   在谷歌上。谁知道谁?

如果您将安装中包含的功能演示作为参考,您将在其中找到Line2D示例。创建图表后:

$chart = new TChart(500,300);

添加并填充了Line系列:

$line1=new Line($chart->getChart());  
$data = Array(10,50,25,175,125,200,175);
$line1->addArray($data);

$line2=new Line($chart->getChart());  
$line2->addXY(0,10);
$line2->addXY(1,15);
$line2->addXY(2,20);
$line2->addXY(3,25);                                       
$line2->addXY(10,30);

$line3=new Line($chart->getChart());  
$data = Array(200,175,175,100,65,110,90);
$line3->addArray($data);

然后,为了使它们更宽,你可以:

$line1->getLinePen()->setWidth(2);
$line2->getLinePen()->setWidth(2);
$line3->getLinePen()->setWidth(2);

或者您可以使用已存在的foreach循环:

foreach ($chart->getSeries() as $serie) {
  //...

  $serie->getLinePen()->setWidth(2);
}

  

此外,如果使用条形图,可以考虑使用以下代码段   应禁用每个栏上的注释标记:

$series1=$this->Chart2->addSeries(new TeeBar($this));
$series1->Marks->Visible = false; 
     

不是。 Marks-> Visible什么都不做。仍会显示默认标记。

看一下Bar系列示例。它是这样开始的:

$chart1 = new TChart(500,300);

$chart1->getChart()->getHeader()->setText("Bar Style");
$chart1->getChart()->getAspect()->setChart3DPercent(30);

$bar=new Bar($chart1->getChart());
$chart1->getChart()->getSeries(0)->setColorEach(true);
$chart1->getChart()->getSeries(0)->fillSampleValues(10);

您可以在第一个条形图中看到标记。但是在上面添加以下内容似乎隐藏了我所期望的标记:

$chart1->getChart()->getSeries(0)->getMarks()->setVisible(false);

同样可以这样做:

$bar->getMarks()->setVisible(false);

如果您在HTML5 Builder XE3中使用TeeChart HTML5/JavaScript

  

我找不到设置折线图的笔厚度的方法。没有   在谷歌上。谁知道谁?

您可以通过format.stroke.size属性执行此操作,如下所示:

var Chart1;

function draw() {
  Chart1=new Tee.Chart("canvas1");

  line1=Chart1.addSeries(new Tee.Line());
  line1.addRandom(25);
  line1.format.stroke.size=2;

  line2=Chart1.addSeries(new Tee.Line());
  line2.addRandom(25);

  Chart1.draw();
}

  

此外,如果使用条形图,可以考虑使用以下代码段   应禁用每个栏上的注释标记:

$series1=$this->Chart2->addSeries(new TeeBar($this));
$series1->Marks->Visible = false; 
     

不是。 Marks-> Visible什么都不做。默认标记是   仍然显示。

这似乎对我有所期待:

var Chart1;

function draw() {
  Chart1=new Tee.Chart("canvas1");

  bar1=Chart1.addSeries(new Tee.Bar());
  bar1.addRandom(6);
  bar1.marks.visible=false;

  bar2=Chart1.addSeries(new Tee.Bar());
  bar2.addRandom(6);

  Chart1.draw();
}