3

JpGraphバージョン3.5.0b1を使用してPDFドキュメントのグラフを作成していますが、問題が発生し、問題を解決しようとして1日の半分を費やしました。

私がやりたいのは、ラインプロットの線の太さを変更することだけですが、何を試しても、デフォルトで常に1になります(1がデフォルトであると想定)。

私は調査を行い、グラフに追加した後に設定する必要があること、およびアンチエイリアスがtrueに設定されている場合、SetWeightが無視されることを知っています。私のコードはこれらのルールに従いますが、それでも何もありません。線の色を変更できるので、メソッドの呼び出し方法とは何の関係もありません。

誰かがここで私を助けてくれますか?少しだけイライラし始めているので、とてもありがたいです。

とにかく、ここに私のコードの小さなスニペットがあります:

$lineplot = new LinePlot($ydata, $xdata);
$graph->Add($lineplot);
$lineplot->SetColor("red");
$lineplot->SetWeight(2);
4

4 に答える 4

11

SetWeight() は、アンチエイリアスをオフにするまで何もしません。JpGraph は、マニュアルのアンチエイリアシングの使用ページでこれについて言及しています。

バージョン 3.5.0b1 でこれをテストしましたが、次のことを行う必要があります。

// Ensure anti-aliasing is off. If it is not, you can SetWeight() all day and nothing will change.
$graph->img->SetAntiAliasing(false); 

// Create linear plot
$lineplot = new LinePlot($ydata, $xdata);

// Add plot to graph
$graph->Add($lineplot);

// Set line weight. This must be done AFTER adding the plot to the graph in version 3.5.0b1. I haven't verified this in other versions.
$lineplot->SetWeight(2); 
于 2012-12-18T16:03:23.507 に答える
3

私はこれと同じことに遭遇しました。私が知る限り、3.5 のバグのようです。3.5 で配布された例では無視されています。

3.0.7 にフォールバックすることは私にとってはうまくいくので、3.5 固有の機能が必要ない場合は試してみてください。

于 2011-12-18T23:46:29.667 に答える
2

線図をグラフに追加した後、 $p1->SetStyle('solid') を使用して解決した同様の問題がありました。

    $p1 = new LinePlot($min_values);
    $graph->Add($p1);
    $p1->SetWeight(3); 
    $p1->SetColor("blue");
    $p1->SetLegend("Minimum Values");
    $p1->SetStyle("solid");

Add lineplot メソッドを呼び出した後に SetWeight および SetColor メソッド呼び出しを配置するという Sean の推奨事項を検証する関連リンクを次に示します。

于 2012-02-02T22:27:46.943 に答える
0

ここでの問題は、登録した JpGraph バージョン 3.5.0b1 が、線の太さやその他の表示スイッチに関してまったく機能していないように見えることです。

バージョン 3.1.7p にダウングレードした後、アンチエイリアシング スイッチやSetWeightafterの配置に関係なく、すべてが正常に機能しましたAdd()

したがって、現時点では、3.5.0b1 以外のバージョンにダウングレードすることしかお勧めできません。

于 2013-04-10T00:49:40.083 に答える