我正在绘制从树莓派到 plotly 的温度和湿度读数。
在同一个 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()
plotly 图在这里:
https://plot.ly/~uilfut/58/temperature-degc-vs-rel-humidity/
最佳答案
以防万一其他人从谷歌搜索中发现这个线程 - 我想出了丢失的代码行......
在布局 yaxis2 下,您必须指定 overlaying='y'。
它现在有效:)
layout = go.Layout(
yaxis=dict(
title='Temperature deg C',
side='left'
),
yaxis2=dict(
title='Humidity Rel %',
side='right',
overlaying='y'
)
)
关于python-3.x - 添加第二个 y 轴时,跟踪未显示在绘图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49160871/