C# 画图

Return0623360 2015-05-27 04:45:41
最近要做一个根据接收数据绘制一个曲线图(前面提问过),碰到的问题是:怎样将接收到的数据对应到坐标系中,例如我在10ms时接收到的数据为5,那么坐标点应该是(10,5),前者是接收时间,后者是在这个时间点接收到的数据,请问,怎样映射到我自己的坐标系中。。。下图是我设置的坐标系,但怎么将接收到的数据映射到我的坐标系中咧?


求解答。。。我可能对于绘图方面的理解有偏差了!
...全文
295 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Return0623360 2015-05-28
  • 打赏
  • 举报
回复
引用 10 楼 xuzuning 的回复:
你把图形的轮廓坐标点放到数组里,然后 FillPolygon,空心的就 DrawPolygon
嗯 多谢回答 我也是这么想的。。。
xuzuning 2015-05-27
  • 打赏
  • 举报
回复
你把图形的轮廓坐标点放到数组里,然后 FillPolygon,空心的就 DrawPolygon
Return0623360 2015-05-27
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
这与坐标系有关,Graphics 的原点在左上角,y 轴是向下的,与平面坐标系不同。所有的位置都需要换算 所以你可以重新指定一下 g.Transform = new System.Drawing.Drawing2D.Matrix(1, 0, 0, -1, x, y); 第四个参数 -1 表示将 y 轴翻转 参数 x、y 表示到左上角的距离,也就是你画的网格 0 点的位置 这样就可直接用获取的数据画线,不必换算了
的确是个方法,我忘了Graphics的Transform属性了,对,就这样做。那请问怎么用一个“图形”表示一个坐标点,比如说用一个小的实心菱形来表示一个坐标点怎么实现。。。
Return0623360 2015-05-27
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
你可以取DateTime的tatolSecond属性, 取出来是从1900-1-1到现在的秒数 然后所有数据全部减去最小的数据,得到一个差值,从0开始.
引用 6 楼 Z65443344 的回复:
或者你取totalDays 表示从1900-1-1 0:0:0到现在的天数,double型,带小数 然后你乘以24*3600*1000变成毫秒数
我想到的方法是原点坐标我是知道的,而每个刻度所对应的间距我也知道,那么横坐标上的坐标就可以表示为:原点值+(时间值*间距值)/刻度值,同理也可以表示出纵坐标的值。。。
xuzuning 2015-05-27
  • 打赏
  • 举报
回复
这与坐标系有关,Graphics 的原点在左上角,y 轴是向下的,与平面坐标系不同。所有的位置都需要换算 所以你可以重新指定一下 g.Transform = new System.Drawing.Drawing2D.Matrix(1, 0, 0, -1, x, y); 第四个参数 -1 表示将 y 轴翻转 参数 x、y 表示到左上角的距离,也就是你画的网格 0 点的位置 这样就可直接用获取的数据画线,不必换算了
於黾 2015-05-27
  • 打赏
  • 举报
回复
或者你取totalDays 表示从1900-1-1 0:0:0到现在的天数,double型,带小数 然后你乘以24*3600*1000变成毫秒数
拜一刀 2015-05-27
  • 打赏
  • 举报
回复
之前用控件画折线图,给的时间是整点开始的15分钟数据,反正我都转成浮点数了,1.25,1.5之类的...
於黾 2015-05-27
  • 打赏
  • 举报
回复
你可以取DateTime的tatolSecond属性, 取出来是从1900-1-1到现在的秒数 然后所有数据全部减去最小的数据,得到一个差值,从0开始.
Return0623360 2015-05-27
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
你的问题跟图无关 是如何将一个时间点变成一个int值的问题
我最终会将坐标点连接起来,形成曲线图,现在碰到的问题是怎么转换为坐标表示。。。
於黾 2015-05-27
  • 打赏
  • 举报
回复
你的问题跟图无关 是如何将一个时间点变成一个int值的问题
Return0623360 2015-05-27
  • 打赏
  • 举报
回复
先自己顶一下,希望有人指点一下。。。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧