2014-07-19 70 views
-5

這個圖形類型叫什麼?可以用morris.js創建SED圖嗎?

可以用morris.js重新創建嗎?

如果是這樣,請快速,簡單的例子codepen/jsfiddle請(不需要複製數據,但展示垂直線和水平線)。

如果不是,廣泛使用的JavaScript圖形庫支持它嗎? graph

或(這是爲了賞金),如何編輯https://github.com/morrisjs/morris.js/來支持上圖?

我真的在尋求指針,但如果有人想貢獻開源代碼並獲得一些代表權,我會非常感激。

但就像我說的那樣,我應該在morris repo中查看一些關於文件和函數的指針,以便創建上圖。

+0

我會更新標題,當我知道圖表的名稱,使其更容易對谷歌 – Starkers

+1

這是不是主題的StackOverflow –

+0

@ZachSaucier如何使用JavaScript庫創建一個圖形類型?真? – Starkers

回答

4

該圖是從NASA/IPAC Extragalactic Database得到的SED or spectral energy distribution圖或圖。更多的信息是here

它在圖上顯示錯誤條,但不顯示點標籤。

並非所有SED情節是這樣的一個,所以讓我們描述的特徵這其中有

  • 圖表標題
  • 散點圖
  • X軸標籤
  • Y軸標籤
  • X軸頂部刻度
  • X軸底部刻度
  • X軸對數刻度
  • Y軸的對數標度上的點
  • 誤差條
  • 自定義字形的不同點上的散點圖
  • 點沿x軸標籤
  • Y軸的標籤與String和Date

可能用morri.sjs重新創建,但是需要一些努力來添加所有缺少的功能。

這是我使用morris.js的現有功能(不添加任何功能)來繪製上面鏈接的一些數據的基本嘗試。

HTML

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
    <script src="http://cdn.oesmith.co.uk/morris-0.4.1.min.js"></script> 
<meta charset=utf-8 /> 
<title> Chart Example</title> 
</head> 
<body> 
    <p align="center">MRK 1014</p> 
    <div id="line-example"></div> 
</body> 
</html> 

的JavaScript

Morris.Line({ 
    element: 'line-example', 
    data: [ 
    { y: Math.log(1.45E+18), a: Math.log(6.41E-08) }, 
    { y: Math.log(1.45E+18), a: Math.log(1.03E-07) }, 
    { y: Math.log(1.45E+18), a: Math.log(1.31E-07) }, 
    { y: Math.log(1.45E+18), a: Math.log(6.28E-08) }, 
    { y: Math.log(1.45E+18), a: Math.log(8.55E-07) }, 
    { y: Math.log(1.45E+18), a: Math.log(8.55E-07) }, 
    { y: Math.log(1.45E+18), a: Math.log(5.59E-08) }, 
    { y: Math.log(1.45E+18), a: Math.log(6.55E-08) } 
    ], 
    xkey: 'y', 
    ykeys: ['a', ], 
    labels: ['Series A'], 
    linewidth: 0, 
    pointSize: 2, 
    ymin : Math.log(1E-08), 
    ymax : Math.log(1E3), 

}); 

正如你可以看到它看上去一點也不像你張貼的圖片。

通過功能的用戶列表功能去,

圖表標題並不一定是一件morris.js功能,它可以是一個普通的HTML標題和段落元素。

morris.js不支持X軸標籤和Y軸標籤,您可以購買HTML段落元素和CSS3書寫模式屬性或轉換函數,如Y標籤所記錄的here。帶日期和字符串的Y軸標籤可以用同樣的方法完成。

您可以手動將轉換放在最高比例上,也可以添加對最高比例和轉換支持的支持。

對於對數刻度的支持,您需要修改morris.grid.coffeemorris.line.coffe

與自定義字形和錯誤欄支持以及沿x軸的分類標籤相同。

根據工作量,morris.js是Pretty時間序列線圖的項目,並且您的圖既不是線圖也不是時間序列線圖。我認爲你更適合使用d3.js或谷歌圖表或其他JavaScript圖形庫。

d3.js scatterplot的例子包括herehere。還簽出Iris SED Analysis Tool,其中吸取SEDs並有NED直接進口支持。

這些選項已經有圖標題支持,scatterplot支持,x和y軸標籤支持和日誌規模支持和點的自定義字形,其他的東西可以比寫morris.js的擴展更容易添加。