Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在“散布轨迹”下而不是在“散布轨迹”上绘出条形图轨迹?_Python_Python 3.x_Plotly_Plotly Dash - Fatal编程技术网

Python 在“散布轨迹”下而不是在“散布轨迹”上绘出条形图轨迹?

Python 在“散布轨迹”下而不是在“散布轨迹”上绘出条形图轨迹?,python,python-3.x,plotly,plotly-dash,Python,Python 3.x,Plotly,Plotly Dash,我试图在plotly/dash中显示同一绘图上的多个痕迹。无论我在数据变量中指定的记录道顺序如何,条形记录道最终总是绘制在散射记录道上。这是我用来生成情节的东西 每个散射迹线都是使用 go.Scatter( x=list(dfN['DATE']) ,y=list(dfN['VALUE']) ,text=list(dfN['VALUE'].round(decimals=3)) ,hoverinfo='text+name' ,name='Scatter N'

我试图在plotly/dash中显示同一绘图上的多个痕迹。无论我在数据变量中指定的记录道顺序如何,条形记录道最终总是绘制在散射记录道上。这是我用来生成情节的东西

每个散射迹线都是使用

go.Scatter(
    x=list(dfN['DATE'])
    ,y=list(dfN['VALUE'])
    ,text=list(dfN['VALUE'].round(decimals=3))
    ,hoverinfo='text+name'
    ,name='Scatter N'
    ,mode='lines+markers'
    ,marker=dict(
        color='rgb(230,159,0)',
        size=15,
        opacity=1,
        line={'width': 0.5, 'color': 'white'}
    )
)
dropin_style=dict(
    hoverinfo='text+name'
    ,hoverlabel=dict(
        namelength=-1
    )
    ,textposition = 'auto'
    ,yaxis='y2'
)
go.Bar(
    legendgroup='bars'
    ,x=list(dfM['DATE'])
    ,y=list(dfM['VALUE'])
    ,text=list(dfM['VALUE'])
    ,name='Bar M'
    ,**dropin_style
    ,marker={'color':'#cccccc'}
    ,textfont=dict(color='#000000')
)
并且每个条记录道都是用

go.Scatter(
    x=list(dfN['DATE'])
    ,y=list(dfN['VALUE'])
    ,text=list(dfN['VALUE'].round(decimals=3))
    ,hoverinfo='text+name'
    ,name='Scatter N'
    ,mode='lines+markers'
    ,marker=dict(
        color='rgb(230,159,0)',
        size=15,
        opacity=1,
        line={'width': 0.5, 'color': 'white'}
    )
)
dropin_style=dict(
    hoverinfo='text+name'
    ,hoverlabel=dict(
        namelength=-1
    )
    ,textposition = 'auto'
    ,yaxis='y2'
)
go.Bar(
    legendgroup='bars'
    ,x=list(dfM['DATE'])
    ,y=list(dfM['VALUE'])
    ,text=list(dfM['VALUE'])
    ,name='Bar M'
    ,**dropin_style
    ,marker={'color':'#cccccc'}
    ,textfont=dict(color='#000000')
)
然后把所有的痕迹都放在一起

data = [bar1, bar2, bar3, bar4, bar5,
                scatter1, scatter2, scatter3,]
layout = go.Layout(
    showlegend=True
    ,legend=dict(orientation="h",x=0, y=1.3)
    ,barmode='stack'
    ,xaxis=dict(
        dtick='M1'
    )
    ,yaxis=dict(
        range=[0,1.1],
        fixedrange=True,
        title='Percent'
    )
    ,yaxis2=dict(
        range=[0, ymax]
        ,fixedrange=True
        ,side='right'
        ,title='Count'
        ,overlaying='y'
        ,zeroline=False
        ,showgrid=False
    )
)
return {'data': data, 'layout': layout}

我能做些什么,以便在散射迹线下绘制条形图迹线?我尝试设置条的不透明度,但这使整个图形更难查看。

我认为您的代码中缺少了一些东西,但我推断**dropin_样式指定条具有yaxis:y2,并且从我的尝试中,它看起来与yaxis相关的轨迹被绘制,然后是与yaxis2关联的那些,所以如果你想让你的散点轨迹位于条轨迹之上,你会想要与yaxis2关联的散点轨迹,您可以将侧边向上切换,使正确的侧边位于右/左。

我认为您的代码中缺少了一些内容,但我推断**dropin_样式指定条形图具有yaxis:y2,并且从我的试验中,它看起来与yaxis相关的轨迹被绘制,然后是与yaxis2关联的那些,因此如果您希望散点轨迹位于条形图轨迹的顶部,您将希望散点轨迹与yaxis2关联,并且您可以向上切换侧面,以便正确的散点轨迹最终位于右/左。

脱机打印时是否存在相同的问题,例如,在Jupyter笔记本中?脱机打印时是否存在相同的问题,例如在Jupyter笔记本中?哎呀。刚刚在我的作品中添加了dropin_风格的定义,这个假设是正确的。我将把柱状图切换到axis1,看看这是否解决了问题。K,进行了更改,这似乎正是原因。羞耻感没有被记录下来,但我想这是有道理的。如果javascript库按照axis顺序组装SVG,那么yaxis将位于yaxis2之前,并且由于SVG不使用z索引,只是顺序不正确,因此yaxis2将不可能位于yaxis之下。谢谢将plot_bgcolor设置为rgba0,0,0,0透明也有帮助。哇。刚刚在我的作品中添加了dropin_风格的定义,这个假设是正确的。我将把柱状图切换到axis1,看看这是否解决了问题。K,进行了更改,这似乎正是原因。羞耻感没有被记录下来,但我想这是有道理的。如果javascript库按照axis顺序组装SVG,那么yaxis将位于yaxis2之前,并且由于SVG不使用z索引,只是顺序不正确,因此yaxis2将不可能位于yaxis之下。谢谢将绘图颜色设置为rgba0,0,0,0透明也有帮助。