グラフ上に灰色の領域(信号の許容範囲)を描画するにはどうすればよいですか?
私は、Winformsクラスと標準のMicrosoft System.Windows.Forms.DataVisualization
クラスを使用します。
これはカスタム範囲である必要があります。これは、開始Yポイントがゼロでない場合があることを意味します。
ポイントは、実行時に1つずつオンラインになります。Winforms Chart - 線グラフに許容範囲を描画します
UPDATE: - それは大丈夫だが、私は2dに出発点を定義する方法がわからない
私はストリップラインを試してみました。これは、XまたはYのみに設定できます。 2番目のグラフ(領域)を使用しようとしましたが、必要なものではありません。
UPDATE2:
@Reza Aghaeiありがとうございました!ここで
素晴らしい作品コード:UPDATE OF
void drawAllowedArea(Point startPoint, Point endPoint, PaintEventArgs e)
{
var l = (float)chart1.ChartAreas[0].AxisX.ValueToPixelPosition(startPoint.X);
var t = (float)chart1.ChartAreas[0].AxisY.ValueToPixelPosition(endPoint.Y);
var r = (float)chart1.ChartAreas[0].AxisX.ValueToPixelPosition(endPoint.X);
var b = (float)chart1.ChartAreas[0].AxisY.ValueToPixelPosition(startPoint.Y);
var rect = RectangleF.FromLTRB(l, t, r, b);
using (var br = new SolidBrush(Color.FromArgb(100, Color.Blue)))
{
e.Graphics.FillRectangle(br, rect.X, rect.Y, rect.Width, rect.Height);
}
e.Graphics.DrawRectangle(Pens.Red, rect.X, rect.Y, rect.Width, rect.Height);
}
//and use this function in chart1_Paint event:
void chart1_Paint(object sender, PaintEventArgs e)
{
drawAllowedArea(new Point(20, 50000), new Point(40, 100000), e);
}
END ----------------------------- ----------------------------
あなたにたくさんありがとうございました!
私はStripLineを試しました - それは大丈夫ですが、2dで始点を定義する方法はわかりません。これは、XまたはYのみに設定できます。 2番目のグラフ(Area)を使用しようとしましたが、必要なものではありません...さらに、実行時に表示する必要がある(質問に追加します) - オンラインでポイントを1つずつ取得します。 –
[Stripline](http://stackoverflow.com/questions/38958646/winforms-chart-how-to-enable-background-color-gauge/38959173?s=6|0.1465#38959173)は、Rectangleannotation 。しかし、描くことはしばしば十分です。 – TaW