在jpgraph(图表)中更改x轴上标签的长度

时间:2012-08-01 15:51:55

标签: charts jpgraph

我使用jpgraph创建了一个图形 - 但是由于x轴上标签的长度,某些文本被“切断”并且不可见。我已经创建了一个自定义函数来使用换行符,但即使这样,它仍然会删除图表上某个标签上的几个字符。

是否有实际定义x轴标签实际长度的方法,例如设置宽度(以像素为单位)?感谢

        // Create the graph. These two calls are always required
    $graph = new Graph(1000,500,'auto');
    $graph->SetScale("textlin");

    //$theme_class="DefaultTheme";
    //$graph->SetTheme(new $theme_class());

    // set major and minor tick positions manually
    $graph->yaxis->SetTickPositions(array(0,1,2,3,4,5), array(0.5,1.5,2.5,3.5,4.5));
    $graph->SetBox(false);

    //$graph->ygrid->SetColor('gray');
    $graph->ygrid->SetFill(false);
    $graph->xaxis->SetLabelAngle(90); // 45 degrees angle
    $graph->xaxis->SetTickLabels($new_labels);
    $graph->yaxis->HideLine(false);
    $graph->yaxis->HideTicks(false,false);

    // Create the bar plots
    $b1plot = new BarPlot($data);

    // ...and add it to the graPH
    $graph->Add($b1plot);        

    $b1plot->SetColor("white");
    $b1plot->SetFillGradient("#4B0082","white",GRAD_LEFT_REFLECTION);
    $b1plot->SetWidth(45);
    $graph->title->Set("Bar Gradient(Left reflection)");

    // Display the graph
    $graph->Stroke();

2 个答案:

答案 0 :(得分:0)

想出来(几乎) 以防其他人需要帮助时使用以下内容:

$graph->xaxis->SetLabelAlign('right','center','right');

答案 1 :(得分:0)

我认为你不能设定标签的长度。您需要使用$graph->setMargin(a,b,c,d);$graph->Set90AndMargin(a,b,c,d);为旋转图设置图表的边距。 a - 左,b - 右,c - 顶部,d - 底部边缘。

查看有关这些函数的文档,它可能会与旋转图形有点混淆。