Highcharts 中文社区

楼主: lyc243587214

[Java 相关] 怎么将servlet中的json数据用highstock绘图呢

[复制链接]
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-27 17:11:04 | 显示全部楼层
    宽宽 发表于 2016-12-27 10:02
    如果数据源是自己开发的,可以在后台加上referer判断用户来路。

    {
        "data": {
            "timeStart": [
                [1482165262000,1482162575000,1482190035000,1482177387000],
                [1482163427000,1482168605000,1482179353000,1482187348000]
            ],
            "itemCode": [
                ["EUR="],
                ["EUR="]
            ],
            "openPrice": [
                [1.0444,1.0438,1.04195,1.04285],
                [1.0402,1.0431,1.0404,1.0436]
            ],
            "dataSource": [
                "Reuters",
                "CMB(web)"
            ]
        }
    }

    这样可以画两条线吧。。不知道为什么我前台读取的时候alert(data.data["timeStart"][0])能出来,alert(data.data["openPrice"][0])就没有数据。。。这样就不能继续了。。关掉上面那个,后面的单独又可以。。。。
  • TA的每日心情
    开心
    2019-12-18 13:31
  • 签到天数: 750 天

    [LV.10]以坛为家III

    14

    主题

    867

    帖子

    1万

    积分

    HC 神人

    看我签名看我签名看我签名看我签名看我签名看我签名看我签名看我

    Rank: 8Rank: 8

    积分
    11545

    最佳新人活跃会员热心会员发帖之王突出贡献论坛元老

    发表于 2016-12-27 18:24:14 | 显示全部楼层
    分开写
    1.                 series: [{
    2. //这是一条线
    3.                 type: 'line',
    4.                 name: 'EUR',
    5.                 data: [[1482165262000,1.04],[1482162575000,1.03] ...]
    6.             },{
    7. //这是另一条
    8.                 type: 'line',
    9.                 name: 'CNY',
    10.                 data: [[1482175262000,1.06],[1482192575000,1.09] ...]
    11.             },
    12. //等等      
    复制代码
    请用HCode:  http://code.hcharts.cn/ 创建一个在线实例重现你的问题,然后分享链接,便于共同调试。
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-27 22:42:32 | 显示全部楼层
    本帖最后由 lyc243587214 于 2016-12-27 23:17 编辑

    下午的时候绘制出来了,。。然后发现时间顺序错了,然后就没有继续用这个方法写json。。刚刚用了一种很笨的办法,重新写了json画了线。。。现在就是横坐标时间这块,不知道能不能按秒来显示,就是例如:15:21:01,15:21:02  这样的形式,主要是我的数据已经精确到秒了。。现在的情况是时间他弄了范围,然后值感觉他取得是平均值了,很影响。。。给你看看我的C:\Users\Lyc\Desktop

    这是我两条线的代码,其实就是改了点:
            $(function () {
            
                $.getJSON('${pageContext.request.contextPath}/PriceDateServlet01', function (data) {
                
                   
                        alert(data[0].data.itemCode);
                           alert(data[1].data2.itemCode2);
                         var resultR = [];
                           var itemCodeR = data[0].data.itemCode;
                           var dataSouceR = data[0].data.dataSource;
                           var timeStartR = data[0].data.timeStart;
                           var dataR = data[0].data.openPrice;
                           
                           alert(timeStartR);
                           var resultC = [];
                           var itemCodeC = data[1].data2.itemCode2;
                           var dataSouceC = data[1].data2.dataSource2;
                           var timeStartC = data[1].data2.timeStart2;
                           var dataC = data[1].data2.openPrice2;
                  
                           
                         for(var i=0;i<dataR.length;i++){                        
       
                           resultR.push([
                               timeStartR,
                               dataR
                           ]);
                     }        
                           for(var j=0;j<dataC.length;j++){                        
                               
                               resultC.push([
                                   timeStartC[j],
                                   dataC[j]
                               ]);
                         }   
                           
                           
                           alert(resultR)
                           alert(resultC)
                    $('#container').highcharts('StockChart', {
                        rangeSelector : {
                            selected : 1
                        },
                        title : {
                            text : 'AAPL Stock Price'
                        },
                        tooltip:{
                              
                                pointFormatter: function() {
                                return this.series.name + ':<b>' + this.y + '</b>';
                              }
                        },
                        series : [{
                            name : dataSouceR,
                            data : resultR
                           
                        },{
                            name : dataSouceC,
                            data : resultC
                         
                        }]
                    });
                });
            });
    QQ截图20161227224108.png
    QQ截图20161227224119.png
  • TA的每日心情
    开心
    2019-12-18 13:31
  • 签到天数: 750 天

    [LV.10]以坛为家III

    14

    主题

    867

    帖子

    1万

    积分

    HC 神人

    看我签名看我签名看我签名看我签名看我签名看我签名看我签名看我

    Rank: 8Rank: 8

    积分
    11545

    最佳新人活跃会员热心会员发帖之王突出贡献论坛元老

    发表于 2016-12-28 09:48:47 | 显示全部楼层
    可能涉及到两个设置
    一个是时间显示格式
    http://api.hcharts.cn/#tooltip.date
    另一个是数据自动分组
    http://api.hcharts.cn/highstock#series<line>.dataGrouping
    请用HCode:  http://code.hcharts.cn/ 创建一个在线实例重现你的问题,然后分享链接,便于共同调试。
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-28 10:27:32 | 显示全部楼层
    本帖最后由 lyc243587214 于 2016-12-28 10:28 编辑
    宽宽 发表于 2016-12-28 09:48
    可能涉及到两个设置
    一个是时间显示格式
    http://api.hcharts.cn/#tooltip.date

    总是莫名其妙的解决了。。也已经好了。。能弱弱的问一句,曲线图下面的那个图是什么意思,波动图么。。。现在要做两条线的差,再画一条线。。。。囧
    9_~1]P{5$AO4RSJM{$KYOUI.png
  • TA的每日心情
    开心
    2019-12-18 13:31
  • 签到天数: 750 天

    [LV.10]以坛为家III

    14

    主题

    867

    帖子

    1万

    积分

    HC 神人

    看我签名看我签名看我签名看我签名看我签名看我签名看我签名看我

    Rank: 8Rank: 8

    积分
    11545

    最佳新人活跃会员热心会员发帖之王突出贡献论坛元老

    发表于 2016-12-28 10:32:26 | 显示全部楼层
    不是莫名其妙,是图表根据宽度和数据数量自动合并分组,所以有时候会合并,有时候不会。
    “曲线图下面” 是不是说面积图(area)?我没太看懂问题是什么
    请用HCode:  http://code.hcharts.cn/ 创建一个在线实例重现你的问题,然后分享链接,便于共同调试。
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-28 11:04:28 | 显示全部楼层
    宽宽 发表于 2016-12-28 10:32
    不是莫名其妙,是图表根据宽度和数据数量自动合并分组,所以有时候会合并,有时候不会。
    “曲线图下面” 是 ...

    恩。。下面那个面积图可以不要么? 具体干嘛的也不是很理解,导航?     我想在面积图那里再画一幅图,用来显示我那两条线同一时间数据差的曲线。。。
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-28 16:20:13 | 显示全部楼层
    宽宽 发表于 2016-12-28 10:32
    不是莫名其妙,是图表根据宽度和数据数量自动合并分组,所以有时候会合并,有时候不会。
    “曲线图下面” 是 ...

    为什么坐标轴的时间对不上呢。。怎么将时间戳转换回去 我这样转没有用
    QQ截图20161228161815.png
    20161228161756.png
  • TA的每日心情
    开心
    2019-12-18 13:31
  • 签到天数: 750 天

    [LV.10]以坛为家III

    14

    主题

    867

    帖子

    1万

    积分

    HC 神人

    看我签名看我签名看我签名看我签名看我签名看我签名看我签名看我

    Rank: 8Rank: 8

    积分
    11545

    最佳新人活跃会员热心会员发帖之王突出贡献论坛元老

    发表于 2016-12-28 16:59:01 | 显示全部楼层
    问题描述再清楚一些,最好创建在线实例  (看我签名)  。
    请用HCode:  http://code.hcharts.cn/ 创建一个在线实例重现你的问题,然后分享链接,便于共同调试。
  • TA的每日心情
    奋斗
    2016-12-23 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    22

    帖子

    75

    积分

    HC 新手

    Rank: 1

    积分
    75
     楼主| 发表于 2016-12-28 21:18:36 | 显示全部楼层
    宽宽 发表于 2016-12-28 16:59
    问题描述再清楚一些,最好创建在线实例  (看我签名)  。

    就是横坐标的时间不对。你看图,第一幅图,这个时间不对。。第二幅图是我设置的时间,不知道为什么不行。。。  不怎么会弄实例分享,不好意思。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表