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/
以防万一其他人从谷歌搜索中发现这个线程 - 我想出了丢失的代码行......
在布局 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)