该图是从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