2015-02-06 64 views
0

時間跳我有SOI值每隔一個月一個非常基本的時間序列數據集從1950年到1995年 日期SOI在酒窩線圖形

1-Dec-94 2.993 
1-Nov-94 1.293 
1-Oct-94 -1.006 
1-Sep-94 -0.80696 
1-Aug-94 -1.406 
1-Jul-94 -0.20696 
1-Jun-94 -2.006 
1-May-94 -0.90696 
1-Apr-94 -1.806 
1-Mar-94 -2.006 
1-Feb-94 -1.306 
1-Jan-94 -1.306 
1-Dec-93 -1.706 
1-Nov-93 -1.506 
1-Oct-93 0.29374 
1-Sep-93 -0.60696 
1-Aug-93 1.2937 

那是什麼樣子。

我想創建一個簡單的基於Dimple的線條圖形。這是我的代碼:

<div id="chartContainer"> 
    <script type="text/javascript" src="d3.min.js"></script> 
    <script src="http://dimplejs.org/dist/dimple.v2.1.2.min.js"></script> 
// This loads in dimple and d3 libraries 
    <script type="text/javascript"> 
    var svg = dimple.newSvg("#chartContainer", 1000, 600); 
    d3.csv("SOI_data.csv", function (data) { 
     var myChart = new dimple.chart(svg, data); 
     myChart.setBounds(60, 30, 800, 550); 
     var x = myChart.addTimeAxis("x", "date", "%d-%b-%y", "%b-%y"); 
     x.addOrderRule("date"); 
     x.timeInterval = 4; 
     myChart.addMeasureAxis("y", "soi"); 
     var s = myChart.addSeries(null, dimple.plot.line); 
     myChart.draw(); 

    }); 
    </script> 
</div> 

它執行但輸出非常奇怪。它顯示從1月-69日到12月-94日的數據,然後與1月-50日之間有一個很大的差距(與之間的連線),然後正確地繼續,直到12月-68日。顯示全天,只顯示兩半(連接線)。我不知道如何顯示圖像,或者我只是簡單地說:沒有特別的原因,數據被按照兩個塊的順序排列。如果需要的話,我會包含任何其他信息,這是我的第一個stackover流程帖子,所以感謝您的幫助!

+0

小提琴,然後我們可以幫你.... – 2015-02-06 07:34:10

回答

0

在酒窩下面,酒窩使用d3.time.format解析時間。它必須做出選擇:是「1-Dec-50」,2050還是1950?它選擇2050:

> format = d3.time.format("%d-%b-%y") 
> format.parse("1-Dec-50") 
    Thu Dec 01 2050 00:00:00 GMT-0500 (Eastern Standard Time) 

最簡單的修復方法是修改您的源數據以包含世紀。

+0

非常感謝你,這完全是問題。 – 2015-02-06 19:41:19