各位高手们,我现在急需要将数据绘制曲线后再绘制对应的色谱图。如纵坐标是1~100的数据,横坐标是时间。请问如何绘制能够体现峰值的色谱图呢?

解决方案 »

  1.   

    简单点的你可以用 LinearGradientBrush 线形画刷,先画从最低到最高对应的色谱图从色谱图里面取出100个色彩来
    复杂点的,RGB 三个值 自己做线形转换 从色彩1 到色彩2
      

  2.   

    这还不简单
    Alpha 通道啊 底部设置为128 130逐渐到顶部的时候 变为 255 不就ok了
    至于每个点之间的间隔 就是 (255-128)/底部到顶部像素距离(例如100像素)*100% 做个四舍五入 等于1.28ok那么每个点就按一来算就行了 画点的时候 判断一下 像素点的高度 然后给颜色的Alpha 设置一下 搞定
      

  3.   

    画出线图的方式应该 有多种吧,
    第一种是 一笔画出(那个叫啥贝塞尔曲线的),这种方式画出的话一般建议使用渐变笔刷,
    第二种是根据自己的数据一点一点地画出,这就要用到画线函数设置起点和重点为同一点长度为1,每一点根据数据的实际值 计算后 得到坐标 画出(也有可能不需要计算,这个要看具体需求了)这种方式,在每次画点的时候就需要考虑Color的值了 比如 坐标点为(0,0)时Color.FromArgb(155,0,0,255)以此类推
    坐标点为(x,y)时Color.FromArgb(155+y,0,0,255);这里使用蓝色 也可以选择其他颜色
      

  4.   


    LZ的意思应该是这样的图吧?
    http://www.google.com/imgres?imgurl=http://wiki.mbalib.com/w/images/9/9a/%E6%8E%92%E5%88%97%E5%9B%BE%E7%9A%84%E5%BD%A2%E5%BC%8F.jpg&imgrefurl=http://wiki.mbalib.com/wiki/%25E7%25BB%259F%25E8%25AE%25A1%25E8%25B4%25A8%25E9%2587%258F%25E6%258E%25A7%25E5%2588%25B6&h=314&w=443&sz=15&tbnid=Tz9hUqPQtWY52M:&tbnh=99&tbnw=140&prev=/search%3Fq%3D%25E6%258E%2592%25E5%2588%2597%25E5%259B%25BE%26tbm%3Disch%26tbo%3Du&zoom=1&q=%E6%8E%92%E5%88%97%E5%9B%BE&docid=yZtI_PXFJNJRcM&hl=en&sa=X&ei=Up4TT5iiL6Ti0QHBifn6DA&ved=0CCUQ9QEwAQ&dur=2063不过我很好奇的是他是想知道怎么画这样的图还是别的什么
      

  5.   

    看来我的理解是错的
    建议楼主  把自己要 用 程序 画的 图谱  用 PS或者 Paint.net 等类似的软件  先手工画出来
    给我看一下 ,否则 就像我上面那样 猜恐怕是猜不出来的,还有A图 和B图的关系 也要简单地说一下 ,或者有没有关系因此,我还是不太明白