Встраивание URL-адреса для каждой точки данных в график разброса в Jupyter Notebook? - PullRequest
0 голосов
/ 06 мая 2020

Я создаю карту радиостанций, используя plotly в Jupyter notebook. Моя цель - иметь возможность экспортировать его как файл 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')

1 Ответ

0 голосов
/ 06 мая 2020

Успехи ...

Добавьте 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 l oop, но он действительно генерирует ссылки и эффективно экспортирует в HTML.

...