我正在使用Embarcadero的HTML5构建器(php)和TeeChart绘制图形。适用于大多数零件。然而,至少可以说,php的TeeChart文档相当稀疏——有很多尝试和错误。我找不到设置折线图用笔厚度的方法。谷歌上什么都没有。有谁知道?
此外,如果使用条形图,人们会认为以下代码片段应该禁用每个条形图上的注释标记:
$series1=$this->Chart2->addSeries(new TeeBar($this));
$series1->Marks->Visible = false;
事实并非如此。Marks->Visible
什么都不做。默认标记仍将显示。
如果您在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;
t没有。标记->可见不起任何作用。默认标记仍将显示。
看看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;
t没有。标记->可见不起任何作用。默认标记为仍然显示。
这似乎对我来说是意料之中的事:
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();
}