将 Plot.ly 与图表的外部脚本一起使用
Use Plot.ly with external script for graphs
我正在使用 Plot.ly.js 向我的网站添加一些图表。我正在尝试使用外部脚本来绘制图形,因为我将在几个不同的页面上使用相同的函数。在我的 .aspx 页面的开头,我有这个:
<script src="Scripts/plotly-latest.min.js"></script>
这样我就可以使用 Plot.ly 库了。在外部 .js 文件中,我有我的函数:
function drawLines() {
var one = {
x: [1,2,3],
y: [1,2,3],
mode: 'lines+markers',
name: 'Sample Data'
};
var data = [one];
var layout = { title: 'Sample Graph' };
Plotly.newPlot('myDiv', data, layout);
如果我将它直接放在我的 .aspx 页面中,那么它工作正常,但我真的希望它是外部的。因此,我尝试将其添加到我希望图形显示的位置:
<div id="myDiv" style="width: 480px; height: 400px;">
<script src="Scripts/LineCharts.js" type="text/javascript" ></script>
<script>
drawLines()
</script>
</div>
我还尝试将带有 src="Scripts....> 的行放在开头,我也为 Plot.ly 库这样做。无论如何,它们都不起作用;图表只是没有出现在页面上(但是带有空白 space 的 div 元素在那里)。我知道我应该能够很容易地使用外部脚本,但我就是不知道 where/how 将它放入我的 .aspx 页面以便它工作。我希望它在页面最初加载时 运行。
我意识到这是一个非常基本的问题,可能是一个愚蠢的问题,但我以前没有处理过这些事情,我真的需要一些帮助。
当您将脚本保存为外部文件时,您将无法再访问 HTML div "myDiv"。您需要通过在脚本开头添加以下内容来明确获取对 div 的引用:
var myDiv = document.getElementById('myDiv');
现在,在调用 Plotly.newPlot
时,您需要传递该变量本身,而不是字符串 ID,即
Plotly.newPlot(myDiv, data, layout);
此外,这更像是一个编码风格问题,但您应该在外部脚本中调用 drawLines()
,而不是在 HTML.
中的内联脚本中调用
希望对您有所帮助!
我正在使用 Plot.ly.js 向我的网站添加一些图表。我正在尝试使用外部脚本来绘制图形,因为我将在几个不同的页面上使用相同的函数。在我的 .aspx 页面的开头,我有这个:
<script src="Scripts/plotly-latest.min.js"></script>
这样我就可以使用 Plot.ly 库了。在外部 .js 文件中,我有我的函数:
function drawLines() {
var one = {
x: [1,2,3],
y: [1,2,3],
mode: 'lines+markers',
name: 'Sample Data'
};
var data = [one];
var layout = { title: 'Sample Graph' };
Plotly.newPlot('myDiv', data, layout);
如果我将它直接放在我的 .aspx 页面中,那么它工作正常,但我真的希望它是外部的。因此,我尝试将其添加到我希望图形显示的位置:
<div id="myDiv" style="width: 480px; height: 400px;">
<script src="Scripts/LineCharts.js" type="text/javascript" ></script>
<script>
drawLines()
</script>
</div>
我还尝试将带有 src="Scripts....> 的行放在开头,我也为 Plot.ly 库这样做。无论如何,它们都不起作用;图表只是没有出现在页面上(但是带有空白 space 的 div 元素在那里)。我知道我应该能够很容易地使用外部脚本,但我就是不知道 where/how 将它放入我的 .aspx 页面以便它工作。我希望它在页面最初加载时 运行。
我意识到这是一个非常基本的问题,可能是一个愚蠢的问题,但我以前没有处理过这些事情,我真的需要一些帮助。
当您将脚本保存为外部文件时,您将无法再访问 HTML div "myDiv"。您需要通过在脚本开头添加以下内容来明确获取对 div 的引用:
var myDiv = document.getElementById('myDiv');
现在,在调用 Plotly.newPlot
时,您需要传递该变量本身,而不是字符串 ID,即
Plotly.newPlot(myDiv, data, layout);
此外,这更像是一个编码风格问题,但您应该在外部脚本中调用 drawLines()
,而不是在 HTML.
希望对您有所帮助!