0

我是在 python 中使用 plot.ly 的新手。我想从 python 倍数气泡图中保存。当我试图保存我的图表时,这是空的,它只有轴数据,但图表中的内容(主要数据)是空的(不在变量中)。

我正在使用与其他运行良好的图表相同的方法。

我保存图像的方式是:

fig = Figure(data=data, layout=layout)
#plot_url = py.plot(fig)
py.image.save_as(fig, './images/upsdowns_'+str(individual_data['id'])+'.png')

完整的代码是:

for individual_data in individual:

arrayData = []
particular_point = False
for points in arrayPoints:

    trace = Scatter(
        x = points['down'],
        y = points['up'],
        mode = 'markers',
        name = 'name',
        text = ['text'],
        marker = Marker(
            color='rgba(40, 120, 200, 0.5)',
            size = points['total'] * 10
        )
    )
    arrayData.append(trace)

    if points['up'] == individual_data['pups'] and not particular_point:
        trace2 = Scatter(
                x = points['down'],
                y = points['up'],
                mode = 'markers',
                name = 'name',
                text = ['text'],
                marker = Marker(
                    color='rgba(200, 120, 40, 0.5)',
                    size = 10
                )
        )
        arrayData.append(trace2)
        particular_point = True


data = Data(arrayData)

layout = Layout(
    title='Total Users Choice',
    titlefont=Font(
        family='',
        size=20,
        color=''
    ),
    font=Font(
        family='"PT Sans Narrow", sans-serif',
        size=14,
        color='#000'
    ),
    showlegend=False,
    autosize=False,
    width=600,
    height=500,
    xaxis=XAxis(
        title='Down',
        titlefont=Font(
            family='',
            size=0,
            color=''
        ),
        range=[0, 100],
        domain=[0, 1],
        type='linear',
        rangemode='normal',
        autorange=False,
        showgrid=True,
        zeroline=False,
        showline=False,
        autotick=True,
        nticks=12,
        ticks='',
        showticklabels=True,
        tick0=0,
        dtick=1,
        ticklen=5,
        tickwidth=1,
        tickcolor='#000',
        tickangle='auto',
        tickfont=Font(
            family='',
            size=0,
            color=''
        ),
        exponentformat='e',
        showexponent='all',
        mirror='all',
        gridcolor='#ddd',
        gridwidth=1,
        zerolinecolor='#000',
        zerolinewidth=1,
        linecolor='white',
        linewidth=1,
        anchor='y',
        overlaying=False,
        position=0
    ),
    yaxis=YAxis(
        title='Up',
        titlefont=Font(
            family='',
            size=0,
            color=''
        ),
        range=[0, 100],
        domain=[0, 1],
        type='linear',
        rangemode='normal',
        showgrid=True,
        zeroline=False,
        showline=False,
        autotick=True,
        nticks=12,
        ticks='',
        showticklabels=True,
        tick0=0,
        dtick=100,
        ticklen=5,
        tickwidth=1,
        tickcolor='#000',
        tickangle='auto',
        tickfont=Font(
            family='',
            size=0,
            color=''
        ),
        exponentformat='e',
        showexponent='all',
        mirror='all',
        gridcolor='#ddd',
        gridwidth=1,
        zerolinecolor='#000',
        zerolinewidth=1,
        linecolor='white',
        linewidth=1,
        anchor='x',
        overlaying=False,
        position=0
    ),
    legend=Legend(
        traceorder='normal',
        font=Font(
            family='',
            size=0,
            color=''
        ),
        bgcolor='#fff',
        bordercolor='#000',
        borderwidth=1
    ),
    margin=Margin(
        l=80,
        r=80,
        b=80,
        t=100,
        pad=2
    ),
    paper_bgcolor='rgb(245, 245, 245)',
    plot_bgcolor='rgb(245, 245, 245)',
    hovermode='closest',
    dragmode='zoom',
    separators='.,',
    barmode='stack',
    bargap=0.2,
    bargroupgap=0,
    boxmode='overlay',
    boxgap=0.3,
    boxgroupgap=0.3
)
fig = Figure(data=data, layout=layout)
#plot_url = py.plot(fig)
py.image.save_as(fig, './images/upsdowns_'+str(individual_data['id'])+'.png')
4

0 回答 0