fig = sp.make_subplots(specs=[[{"secondary_y": True}]])
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.a), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.b), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.c), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.d), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.e), secondary_y=True)
fig.update_yaxes(color='#000000', title_text="<b>TEMPERATURES </b> (F)", range=[option_Y1Range0, option_Y1Range1], secondary_y=False)
fig.update_yaxes(color='#000000', title_text="<b>MODE</b> (0 to 5)", range=[option_Y2Range0, option_Y2Range1], secondary_y=True)
fig.update_xaxes(type='category', color='#000000')
fig.update_layout(width=1800,
height=600,
font_color='#000000',
legend=dict(yanchor="top", orientation="h", y=0.9, xanchor="left", x=0.4)
)
st.write(fig)
所以,这就是我发现解决这个问题的方法。当您在streamlit中使用st.write()或st.plotly_chart时,它默认选择“streamlit”主题,并且不关心您的图表有什么plotly Fig配置。
使用
st.plot_chart(fig, theme=None)
,这将使streamlit选择plotly自己的主题,您将在其中看到您想要的图表配置。
这是我更新的代码。
fig = sp.make_subplots(specs=[[{"secondary_y": True}]])
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.a), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.b), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.c), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.d), secondary_y=False)
fig.add_trace(go.Line(x=qdata.DateTime, y=qdata.e), secondary_y=True)
fig.update_yaxes(color='#000000', title_text="<b>TEMPERATURES </b> (F)", range=[option_Y1Range0, option_Y1Range1], secondary_y=False)
fig.update_yaxes(color='#000000', title_text="<b>MODE</b> (0 to 5)", range=[option_Y2Range0, option_Y2Range1], secondary_y=True)
fig.update_xaxes(type='category', color='#000000')
fig.update_layout(width=1800,
height=600,
font_color='#000000',
legend=dict(yanchor="top", orientation="h", y=0.9, xanchor="left", x=0.4)
)
st.plotly_chart(fig, theme=None)