該圖是從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.coffee和morris.line.coffe。
與自定義字形和錯誤欄支持以及沿x軸的分類標籤相同。
根據工作量,morris.js是Pretty時間序列線圖的項目,並且您的圖既不是線圖也不是時間序列線圖。我認爲你更適合使用d3.js或谷歌圖表或其他JavaScript圖形庫。
d3.js scatterplot的例子包括here和here。還簽出Iris SED Analysis Tool,其中吸取SEDs並有NED直接進口支持。
這些選項已經有圖標題支持,scatterplot支持,x和y軸標籤支持和日誌規模支持和點的自定義字形,其他的東西可以比寫morris.js的擴展更容易添加。
我會更新標題,當我知道圖表的名稱,使其更容易對谷歌 – Starkers
這是不是主題的StackOverflow –
@ZachSaucier如何使用JavaScript庫創建一個圖形類型?真? – Starkers