аннотации — Teechart PHP CalcXPosreturning 0

Я пытался использовать Teechart, чтобы нарисовать пару графиков для проекта. Мне удалось нарисовать графики просто отлично. То, с чем я бьюсь, это комментирование определенных точек на графике с помощью некоторых меток.

Конкретная проблема заключается в том, что когда я использую $ chart1-> CalcXPos (someIndex); он всегда возвращает 0 вместо значения пикселей. Как я могу решить эту проблему?

    $chart1 = new TChart(640,480);

$varname = new Line($chart1->getChart());

$someYValues = array(2,3,5,7,11,13);
$theXValues = array(-3,-1,1,3,4,5);

$i=0;
foreach($someYValues as $x){
$varname->addXY($theXValues[$i],$someYValues[$i]);
$i++;
}

$varname->Setcolor(Color::BLUE());
$chart1->getAxes()->getBottom()->getTitle()->setText("X-axis label (units)");
$chart1->getAxes()->getLeft()->getTitle()->setText("Y-axis label (units)");

$tool=new Annotation($chart1->getChart());
$tool->getShape()->setCustomPosition(true);

//$chart1->paint;

$xvalue = $chart1->getAxes()->getBottom()->CalcXPosValue($theXValues[2]);
$yvalue = $chart1->getAxes()->getLeft()->CalcYPosValue($someYValues[2]);

//$xvalue = $varname->CalcXPosValue($theXValues[2]);
//$yvalue = $varname->CalcYPosValue($someYValues[2]);

echo $xvalue;
echo $yvalue;

$tool->setTop($xvalue);
$tool->setLeft($yvalue);

$tool->setText("Random Text ");

$chart1->render("ecg.png");

0

Решение

Попробуйте принудительно перерисовать диаграмму перед использованием Calc* функции:

$chart1->doInvalidate();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]