有個任務,有一堆點,每個點都有X值和Y值。其中X值比較大大概都在10000以上,每個點的X值波動比較小。Y值大概在100以內。現在要把這些點都描繪出來。我自己整了一下代碼,由于X值都超出了視窗像素大小所以無法顯示,我想請教下各位這種情況下該怎么寫代碼?我自己的代碼貼出來了,需要怎么修改代碼?麻煩各位了
Graphics g = Graphics.FromHwnd(this.Handle);
Pen p = new Pen(Color.Black);
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, new Point(100, this.Height - 100), new Point(this.Width - 100, this.Height - 100));
g.DrawString("x", this.Font, new SolidBrush(Color.Black), new Point(this.Width - 100 + 5, this.Height - 100));
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, new Point(150, this.Height - 50), new Point(150, 100));
g.DrawString("y", this.Font, new SolidBrush(Color.Black), new Point(150, 100 - 20));
int pointCount = 2;
float[] pointX = new float[] {12213.00f,11221.00f};
float[] pointY = new float[] { 32.4f, 33.1f };
PointF[] pointF = new PointF[pointCount];
for (int i = 0; i < pointCount; i++) {
pointF[i] = new PointF(pointX[i], pointY[i]);
}
g.DrawCurve(p, pointF, 1f);
p.Dispose();
g.Dispose();
uj5u.com熱心網友回復:
參考excel的曲線圖。x軸換個單位就是了,比如螢屏1像素代表實際100個像素。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/119191.html
標籤:C#
上一篇:ef core 一對多配置問題
下一篇:C# 服務器和多客戶端通信運行一段時間觸發System.OutOfMemoryException例外,如何解決?
