添加第二个 y 轴时,跟踪未显示在绘图上

jus*_*ata 4 python-3.x plotly raspberry-pi3

我正在绘制从树莓派到情节的温度和湿度读数。

在同一个 y 轴上,它们看起来很好。

当我通过布局添加第二个 y 轴时,温度轨迹 (trace1) 不显示。

在 plotly 本身,它显示了 trace1 和 trace2 的数据,但由于某种原因它没有绘制 trace1。

有任何想法吗?!

import plotly.plotly as py
import json
import time
import datetime as dt
import plotly.graph_objs as go
import numpy as np
import sqlite3
import pandas as pd

con = sqlite3.connect('/home/pi/environment.db')
#c = conn.cursor()
df = pd.read_sql_query("SELECT date_time, temp, humid FROM readings", 
con)

df['temp_MA'] = df.temp.rolling(10).mean()
df['humid_MA'] = df.humid.rolling(10).mean()

trace1 = go.Scatter(
        name = 'Temperature degC',
        x=df.date_time,
        y=df.temp_MA,
        yaxis = 'y1'
        )
trace2 = go.Scatter(
        name = 'Rel Humidity %',
        x=df.date_time,
        y=df.humid_MA,
        yaxis = 'y2'
        )
data = [trace1, trace2]
layout = go.Layout(
        yaxis=dict(
            title='Temperature deg C',
            side='left'
            ),
        yaxis2=dict(
            title='Humidity Rel %',
            side='right'
            )
        )
fig = go.Figure(data=data, layout=layout)
py.plot(fig)

con.close()
Run Code Online (Sandbox Code Playgroud)

情节图在这里:https ://plot.ly/~uilfut/58/temperature-degc-vs-rel-warmity/

jus*_*ata 5

以防万一其他人从谷歌搜索中发现这个线程 - 我想出了丢失的代码行......

在布局 yaxis2 下,您必须指定 overlaying='y'。

它现在有效:)

layout = go.Layout(
        yaxis=dict(
            title='Temperature deg C',
            side='left'
            ),
        yaxis2=dict(
            title='Humidity Rel %',
            side='right',
            overlaying='y'
            )
        )
Run Code Online (Sandbox Code Playgroud)