我正在使用Embarcadero的HTML5构建器(php)和TeeChart来绘制图形。适用于大多数零件,工作精美。然而,PHP的TeeChart文档至少可以说很少 - 很多试验和错误。我找不到设置折线图的笔厚度的方法。 Google上没有任何内容。谁知道谁?
此外,如果使用条形图,可以认为以下代码段应禁用每个条形上的注释标记:
$series1=$this->Chart2->addSeries(new TeeBar($this));
$series1->Marks->Visible = false;
没有。 Marks->Visible
没有做任何事情。仍会显示默认标记。
答案 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();
}