我正在Jupyter笔记本中使用plotly创建广播电台的地图。我的目标是能够将其导出为html文件,然后将其嵌入网站中。下面的示例(绘制点,保存.html文件)与我到目前为止的内容非常相似。
我想在悬停文本中或在点本身上嵌入每个点的超链接,并在将图形另存为html文件时使这些链接保持不变。能做到吗?
import plotly.graph_objects as go
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_february_us_airport_traffic.csv')
df['text'] = df['airport'] + '' + df['city'] + ', ' + df['state'] + '' + 'Arrivals: ' + df['cnt'].astype(str)
fig = go.Figure(data=go.Scattergeo(
lon = df['long'],
lat = df['lat'],
text = df['text'],
mode = 'markers',
marker_color = df['cnt'],
))
fig.update_layout(
title = 'Most trafficked US airports<br>(Hover for airport names)',
geo_scope='usa',
)
fig.show()
plotly.offline.plot(fig, filename='examplemap.html')
答案 0 :(得分:0)
取得一些进展...
在序言中添加import plotly.graph_objects as go
,然后添加:
fig.add_trace(go.Scattergeo(
lat=[40.678306],
lon=[-105.040889],
marker={
"color": ["Crimson"],
"line": {
"width": 1
},
"size": 10
},
mode="markers+text",
name="",
text=[ "<a href=\"https://www.nist.gov/pml/time-and-frequency-division/radio-stations/wwv/\">WWV</a>"],
textfont={
"color": ["Crimson"],
"family": ["Droid Sans, sans-serif"],
"size": [22]
},
textposition=["top center"]
))
仍然必须将其集成到for循环中,但是它确实会生成链接并有效地导出到HTML。