この記事ではphplotを使って画像クラスを生成する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
PHPlot は PHP の image 関数を使用して書かれた自動生成クラスです。最初に言っておきますが、元のバージョンの一部はさまざまな設定とサポートが必要なようですが、現在はすべて PHP5 シリーズを使用しています。ソフトウェアを学ぶのと同じように、よく使われる機能を理解する必要があります。興味があれば、その使い方を知るだけで十分です。ただし、ほとんどの友人にとっては、一般的に言えば、それが理解できれば十分です。結局のところ、これは絵を描くために PHP を使用する必要がある場合にのみ使用されます。したがって、Discuz を学ぶときと同じように、使い方だけを知っていればよく、次にその機能の役割を知る必要があります。
よく使用される機能は、設定機能、表示機能、カラー機能などのいくつかのカテゴリに分類されます。1. 設定機能:phplotがどのような型を使用するか、画像をどのように表示するかを設定します。
a.SetDataType($that_dt): 使用するデータ型を設定します。複数の型が使用できます。
(1)text-date:x列に沿って等間隔にデータが配置されます。各配列要素は x 軸上の特定の位置にある点を表し、最初の要素は x 座標を表し、後続のすべての要素は y 座標を表します。
(2) data-data: 上記の型と似ていますが、数値配列の 2 番目の要素が x 座標を表し、次の要素が y 座標を表し、最初の要素が単なるラベルである点が異なります。
(3)data-data-error: data-data と似ていますが、
のように、数値配列の後に error_plus と error_minus を表す 2 つの要素がある点が異なります。(data_labl,x_position,y_position,error_plus,error_minus).
b.SetDataValues($that_dv): 配列 $that_dv をクラスの変数 $this->data_values に代入する この関数は描画を開始する前に呼び出す必要があります。
c.SetPlotType($that_pt): 棒、線、線点、面、点、円などのチャートのタイプを設定します。
d.SetErrorBarLineWidth($wd): エラーバーの幅を設定します。
e.SetFileFormat($that_file_format): 出力画像ファイルの形式を設定します。GIF、PNG、JPEG などになります。また、GD ライブラリがそれをサポートしているかどうかによっても異なります。
f.SetUseTTF($that_ttf): TTFを使用するかどうかを設定します。コンパイルされたphpがTTFをサポートしている場合はSetUseTTF("1")を使用し、それ以外の場合は0に設定します。
2.表示機能:出力チャートで使用する線の種類や幅などを設定する画像を表示します。また、座標軸のスケールの間隔やチャートのサイズなども設定できます。a.SetErrorBarShape($that_ebs): 精密ラインのタイプを設定します。ラインまたはティーの場合、T 字型ラインの 1/2 度が SetErrorBarSize に設定されます。
b.SetErrprBarSize($that_ebs): 精密線の幅を設定します。
c.SetHorizTickIncreament($that_ti): X軸の表示スケールの間隔を設定します。
d.SetHorizTicks($whick_nt): X軸に表示されるティック数を設定します。 (SetHorizTickIncreammentとは併用できません)
e.SetNumVertTicks($that_nt): x軸に表示されるティック数を設定します。 (SetVertTickIncreammentとは併用できません)
f.SetPlotAearpixels($x1,$y1,$x2,$y2): グラフのサイズを設定します。
g.SetPointShape($that_pt): 固定点の形状を設定します: 長方形、円、ひし形、三角形、点、線、半線。
h.SetPointSize($whick_psチュートリアル): ポイントの幅を設定します。i.SetPrecisionX($whick_prec): X軸の精度を設定します。 $whick_prec は小数点以下の桁数を表します。
j.SetPrecisiony($whick_prec)はy軸の精度を設定します。 $whick_prec は小数点以下の桁数を表します。
k.SetSjading($whick_s): 影の幅を設定します。
l.SetTickLength($that_tl): 座標軸上のマーキングラインの長さを設定します。単位はピクセルです。
m.SetTile($title): チャートのタイトルを設定します。
n.SetVertTickIncreament($whick_ti): と SetHorizTicks($whick_nt) は、座標軸上のマーキング ラインの垂直方向と水平方向の間隔を設定するために使用される 2 つの関数です。
o.SetXDataLabelMaxlength($that_xdlm): X軸上のラベルの最大長を設定します。
p.SetXGridLabelType($that_xtf): X 軸のラベル タイプを設定します。これは、時間、タイトル、データ、なし、またはデフォルトになります。
(1).time: 関数strftime()で設定されます。
(2).title:テキストタイプ。
(3).data: 関数number_format()を使用して数値をフォーマットします。
(4).none: ラベルなし。
(5).default:入力フォームに従って出力します。
3. カラー関数: カラー関数は、画像の背景色、グリッドの色、タイトルの色など、チャート内の各要素の表示色を設定するために使用されます。
a.SetBackgroundColor($that_color): 画像全体の背景色を設定します。
b.SetGridColor($that_color): グリッド線の色を設定します。
c.SetLegend($that_legend): パラメータはテキスト配列で、その内容はグラフボックスに表示されます。
d.SetLegendPixels($どれ_x,$どれ_y,$どれ_type): 画像フレームの左下隅の点の座標を設定します。最後のパラメータは後で使用できます。
e.SetLightGridColor($that_color): この関数は、カットラインに 2 つの色があり、そのうちの 1 つを設定します。
f.SetLineWidth($that_lt): チャートで使用される線の幅を設定します。精度線の幅にも影響します。
g.SetLineStyles($that_sls): 実線または破線の線の種類を設定します。
h.SetPlotBgColor($that_color): SetPlotAreaPixels()関数で設定した領域の色を設定します。
i.SetTextColor($that_color): テキストの色を設定します。デフォルトは黒です。
j.SetTickColor($that_color): 座標軸上の目盛り線の色を設定します。
k.SetTitleColor($that_color): タイトルの色を設定します。
上記のグラフィックを生成するコードは次のとおりです:
コードは次のとおりです: #PHPlot Demo
#2008-01-09 ljb
# 詳細については、http://sourceforge.net/projects/phplot/
を参照してください。# PHPlot クラス ライブラリをロードします:
require_once 'phplot.php';
# データ配列を定義します: ラベル、3 つのデータセットです。
# 年、機能、バグ、満足しているユーザー:
$data = array(
配列('2001', 60, 35, 20),
配列('2002', 65, 30, 30),
配列('2003', 70, 25, 40),
配列('2004', 72, 20, 60),
配列('2005', 75, 15, 70),
配列('2006', 77, 10, 80),
配列('2007', 80, 5, 90),
);
# 600x400 ピクセルの画像を作成する PHPlot オブジェクトを作成します:
$p = new PHPlot(600, 400);
# TrueType フォントを使用します:
$p->SetDefaultTTFont('./arial.ttf');
# メインプロットのタイトルを設定します:
$p->SetTitle('PHPlot 顧客満足度 (推定)');
# データ配列表現を選択し、データを保存します:
$p->SetDataType('text-data');
$p->SetDataValues($data);
# プロットの種類を選択します - 棒グラフ:
$p->SetPlotType('bars');
# データ範囲を定義する PHPlot はこれを自動的に行うことができますが、それほどではありません。
$p->SetPlotAreaWorld(0, 0, 7, 100);# 画像全体の背景色とプロットの下の別の色を選択します:
$p->SetBackgroundColor('#ffffcc');
$p->SetDrawPlotAreaBackground(True);
$p->SetPlotBgColor('#ffffff');
# プロットの 4 辺すべてに線を描きます:
$p->SetPlotBorderType('full');
# 3行の凡例を設定し、左上隅に配置します:
$p->SetLegend(array('機能', 'バグ', '満足なユーザー'));
$p->SetLegendWorld(0.1, 95);
# データラベルをオンにし、すべての目盛りと目盛りラベルをオフにします:
$p->SetXDataLabelPos('plotdown');
$p->SetXTickPos('none');
$p->SetXTickLabelPos('none');
$p->SetYTickPos('none');
$p->SetYTickLabelPos('none');
# 今すぐグラフを生成して出力します:
$p->DrawGraph();