Python Plotly:将折线图与地图结合起来

时间:2016-09-27 17:01:57

标签: python plotly

尝试使用plotly来组合此折线图(已经堆叠):

import plotly
import plotly.graph_objs as plgo

#... Some Code

max = plgo.Scatter(x = day_times_str, y = max_val , name = "Max")
min = plgo.Scatter(x = day_times_str, y = min_val, name = "Min")

layout_opts = plgo.Layout(
        xaxis = dict(title = 'xaxis'),
        yaxis = dict(title = 'yaxis', rangemode = "tozero"),
)

figure1 = plgo.Figure(
        data = [max, min],
        layout = layout_opts,
 )

以及显示此折线图上方位置的地图......

#Assume geo_coord is a dataframe of coordinates, with columns 'lat', 'long' and 'text'

  geo_data =  [
        plgo.Scattermapbox(
            lat = geo_coord['lat'],
            lon = geo_coord['lon'],
            text = geo_coord['text'],
            marker = dict(
                color = geo_coord['text'],
                size = 12,
            ),
            mode = 'markers'
        ) 
    ]

  geo_layout = plgo.Layout(
        autosize=True,
        hovermode='closest',
        mapbox=dict(
            accesstoken= GMapsAPIHelper.MAPBOX_TOKEN,  #Constant stored in global object
            bearing=0,
            pitch=0,
            center=dict(
                lat=49.04,
                lon=-122.7 
            ),  #Modify by project details
            zoom= 13
        ),
    )

    figure2 = dict(data = geo_data, layout = geo_layout)

plotly.offline.plot只获取1个数字或一组数据,我无法传入列表进行绘图。我尝试过使用append_trace,但由于我在线图布局中定义了x和y轴,因此会导致地图出错,如下所示:

File "C:\Anaconda2\lib\site-packages\plotly\graph_objs\graph_objs.py", line 934, in append_trace
trace['xaxis'] = ref[0]

TypeError: list indices must be integers, not str

感谢您解决此问题的任何帮助。

0 个答案:

没有答案