C#で複数折れ線描画の際の違う色の塗布、各番号表示
C#で複数折れ線描画の際の違う色の塗布、各番号表示
前に解答下さった方ありがとうございました。
前の折れ線描画ですが分かりづらかったので再度投稿します。
C#で折れ線の描画を行っているのですが
複数の折れ線を描画した際に
・各折れ線ごとに違う色をつける
・各折れ線ごとに番号をつけて表示する
ということは可能なのでしょうか?
折れ線を描画する場所はpictureBoxです。
ちなみに任意の何個の折れ線を描くかという折れ線の個数と
1つの折れ線を何個の点で書くかという情報は任意の入力値となります。
そのため折れ線の描画はfor文制御による自動描画となっております。
そのため以下ソースのPens.BlackのBlackを"Red"と指定するということはできません。
ちなみに下記の
kosu_iが何個の折れ線を描画したいか
sampTが1つの折れ線を何個の点で描画したいか
を表わしていて、
sampT=zigen_i/2となっております。
zigen_iも任意の入力値です。
途中、y座標を数学座標への変換も行っています。
data_dからの折れ線描画イメージとしては
kosu_i =1, zigen_1=10
data_d[1, 10] = 0 1 2 3 4 5 6 7 8 9
の場合、
折れ線1を(0,1)(2.3)(4,5)(6,7)(8,9)
として5(10/2=5)点で描きますということです。
このようにして任意の個数分だけ折れ線を描画するのですが
「この際に違う色をつける、折れ線ごとに番号をつける」
にはどうすればいいのか知りたいのです。
宜しくお願いいします。
以下ソース
private void pictureBox1_Click(object sender, EventArgs e)
{
Point[] pt = new Point[100]; // 座標を格納する変数
double[,] data_d_axi = new double[100, 100];
int sampT;
int x_axi = 0;
int y_axi = 1;
//描画準備
pictureBox1.Refresh(); // 念の為、描画した点を消去する
//Graphicsオブジェクトの作成
Graphics g = pictureBox1.CreateGraphics();
//描画**データ毎に違う色を;;
sampT = zigen_i / 2;
Point[] po = new Point[sampT]; //x,yは整数
for (int i = 0; i < kosu_i; i++)
{
for (int j = 0; j < sampT; j++)
{
//y座標を数学座標系に変換
data_d_axi[i, y_axi] = pictureBox1.Height - data_d[i, y_axi];
pt[j].X = (int)data_d[i, x_axi];
pt[j].Y = (int)data_d_axi[i, y_axi];
po[j] = new Point(pt[j].X, pt[j].Y);
x_axi = x_axi + 2;
y_axi = y_axi + 2;
}
g.DrawLines(Pens.Black, po);
x_axi = 0;
y_axi = 1;
}
//brs.Dispose(); //brushオブジェクトの解放
//リソースを開放する
g.Dispose();
}