日期:2014-05-17  浏览次数:20933 次

X轴有重复值的交易走势图如何实现?
要实现一个股票交易图,每笔交易在走势图中要有一个点,这些点连成线,X轴每一点代表每笔交易价格,Y轴代表第笔交易数量,但现在的问题是:有可能会存在多笔交易的价格是相同的,这种时候要求即使是同一数值在X轴上也要有多个点位,如何实现?
如:
交易价 交易量
1.2 10
1.2 20
1.2 30
2.0 25

这样的记录就得在X轴上有三个点显示的都是1.2这个值,我的想法是X轴能否实际用的是交易时间,但显示的是交易价?有人说给X轴传入二维数组,但不懂具体如何实现,用什么控件?请各位指点

------解决方案--------------------
zedgraph.
------解决方案--------------------
按你的情况,应该是在Y轴方向有三个点,因为X坐标一样,Y坐标不一样

如果想让横坐标显示三个点,那横坐标就不能是交易价

所说的二维数组,我们把它换成struct可能更好理解

struct XValue
{
public DateTime TradeTime;
public float Price
}
你内存中是XValue这个列表,而不是简单的X轴的价格列表,你画图时,遍历XValue列表,取TradeTime去计算X方向坐标,但是图中显示的值是Price字段
------解决方案--------------------
在数据中增加一个字段:交易编号
也就是说有:交易编号、交易价、交易量,共3个字段。
绘制图形时按交易编号逐个取出交易价和交易量,将其绘制在坐标里。

你的数据应该是从数据库取来的?那用数据表很方便,比用数组简单多了。
------解决方案--------------------
不妨按你的想法试看