plotly多地图组合到一个html
时间: 2024-02-04 15:03:14 浏览: 161
要将多个 Plotly 地图组合到一个 HTML 文件中,可以使用 Python 的 Plotly 库和 Flask 框架。下面是一个简单的示例:
1. 首先,安装必要的 Python 库:
```
pip install plotly flask
```
2. 创建一个名为 `app.py` 的 Python 文件,并导入必要的库:
```python
import plotly.graph_objs as go
from flask import Flask, render_template
app = Flask(__name__)
```
3. 创建 Plotly 地图:
```python
map1 = go.Figure(go.Scattermapbox(
lat=['45.5017'],
lon=['-73.5673'],
mode='markers',
marker=go.scattermapbox.Marker(
size=14
),
text=['Montreal'],
))
map2 = go.Figure(go.Scattermapbox(
lat=['51.5074'],
lon=['-0.1278'],
mode='markers',
marker=go.scattermapbox.Marker(
size=14
),
text=['London'],
))
```
4. 创建 Flask 路由和模板:
```python
@app.route('/')
def index():
return render_template('index.html', map1=map1, map2=map2)
```
在模板文件 `index.html` 中,可以使用 Plotly 的 `plot` 函数将地图绘制到 HTML 文件中:
```html
<!DOCTYPE html>
<html>
<head>
<title>Multi-Map Example</title>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<div id="map1"></div>
<br>
<div id="map2"></div>
<script>
var map1 = {{ map1.to_html | safe }};
var map2 = {{ map2.to_html | safe }};
Plotly.plot('map1', map1);
Plotly.plot('map2', map2);
</script>
</body>
</html>
```
5. 运行 Flask 应用程序:
```python
if __name__ == '__main__':
app.run(debug=True)
```
现在,运行 `app.py` 文件,打开浏览器并访问 `http://localhost:5000`,就可以看到两个 Plotly 地图的组合页面了。
阅读全文