es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Plotly: ¿Cómo trazar una línea de flecha (gráfico dirigido)?

Quiero trazar una línea de flecha entre nodos para indicar la dirección de las rutas. No puedo encontrar una función incorporada para hacer esto. ¿Existe un método para hacer este trabajo?

Mis códigos:

import plotly.graph_objects as go
import plotly.io as pio
import plotly

lon1 = [113.076843, 113.154191, 113.737213, 113.842405, 114.244183 ]
lat1 = [23.10993, 23.218533, 23.047626, 22.987975, 22.601581 ]

lon2 = [113.364738, 113.664108, 113.661705,114.244183]
lat2 = [22.997112, 22.878038, 22.869216, 22.601581]

lon_trip1 = lon1
lat_trip1 = lat1

lon_trip2 = lon2
lat_trip2 = lat2

fig = go.Figure()
fig.add_trace(go.Scattermapbox(
    mode="markers+lines",
    lon=lon_trip1,
    lat=lat_trip1,
    name="trip1",
    marker={'size': 10}))

fig.add_trace(
    go.Scattermapbox(
        mode="markers+lines",
        lon=lon_trip2,
        lat=lat_trip2,
        name="trip2",
        marker={'size': 10}))

fig.update_layout(
    margin={'l': 113, 't': 24, 'b': 22, 'r': 115},
    mapbox=dict(style='carto-positron',
                center=go.layout.mapbox.Center(lon=113.664, lat=22.878),
                pitch=0,
                zoom=8)
)

pio.write_image(fig,'C:/Users/Jie/Desktop/plot.png',width=1980, height=1080)
#plotly.offline.plot(fig, filename='C:/Users/user/Desktop/plot' + '.html')
fig.show()

Además, quiero agregar el gráfico de networkx a un mapa del mundo real. ¿Es posible usar plotly para agregar la capa de mapa al gráfico original de networkx?

El código completo se encuentra aquí:
https://stackoverflow.com/questions/64039030/plot-networkx-graph-on-a-real-world-map

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como soy un modelo de lenguaje de IA y no tengo experiencia práctica en el uso de plotly o mapbox, no puedo proporcionarte instrucciones directas. Sin embargo, basándome en mis conocimientos teóricos, parece que no hay una función incorporada en plotly para trazar flechas direccionales entre nodos. Sin embargo, es posible que puedas lograr esto creando una línea personalizada utilizando el trazado de puntos dispersos y luego utilizando una forma de marcador adecuada para indicar la dirección. Esto requeriría habilidades de codificación y manipulación de datos.

    En cuanto a tu segunda pregunta, debería ser posible superponer el mapa de plotly encima del gráfico de networkx. Puedes agregar una capa de mapbox a plotly utilizando el método go.layout.Mapbox() y definir el estilo del mapa, el punto central y el nivel de zoom. También puedes ajustar la opacidad de la capa del mapa para que sea parcialmente transparente y permita que el gráfico de networkx subyacente sea visible. Una vez que hayas mapeado el gráfico de networkx en el mapa de plotly, puedes ajustar el tamaño, color y forma de los nodos y aristas para que se ajusten mejor al mapa.

Comments are closed.