如何在情节中显示某物的开/关状态。就像在屏幕的图像附加状态中一样,WiFi 等会按时间显示。每个 ON 间隔都会显示一个矩形。
一种方法是使用 layout-shape 属性分别为每个间隔绘制矩形。但是在这种方法中,显示/隐藏任何一个参数的切换表示通过单击图例的 WiFi 功能将不起作用。
有没有其他方法可以做到这一点或任何可用于这种绘图的图形对象?
如何在情节中显示某物的开/关状态。就像在屏幕的图像附加状态中一样,WiFi 等会按时间显示。每个 ON 间隔都会显示一个矩形。
一种方法是使用 layout-shape 属性分别为每个间隔绘制矩形。但是在这种方法中,显示/隐藏任何一个参数的切换表示通过单击图例的 WiFi 功能将不起作用。
有没有其他方法可以做到这一点或任何可用于这种绘图的图形对象?
使用散点图并在每个 OFF 和 ON 实例之间插入None非常接近。
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)
screen_time = ['2018-06-05 12:11:10','2018-06-05 12:12:50',None,'2018-06-05 12:13:05','2018-06-05 12:14:50',None,
'2018-06-05 12:16:10','2018-06-05 12:16:56',None,'2018-06-05 12:17:05','2018-06-05 12:19:15']
screen_pos = [1,1,None]*4
wifi_time = ['2018-06-05 12:12:12','2018-06-05 12:12:50',None,'2018-06-05 12:13:12','2018-06-05 12:13:50',None,
'2018-06-05 12:15:10','2018-06-05 12:17:16',None,'2018-06-05 12:17:55','2018-06-05 12:18:15']
wifi_pos = [1.5,1.5,None]*4
trace1 = go.Scatter(
x = wifi_time,
y = wifi_pos,
name='WiFi',
mode = 'lines',
line=dict(
width=10,
),
connectgaps=False
)
trace2 = go.Scatter(
x = screen_time,
y = screen_pos,
name='screen',
mode = 'lines',
line=dict(
width=10,
),
connectgaps=False
)
data = [trace1,trace2]
layout = go.Layout(
title="Device Status",
yaxis=dict(
visible=False
),
)
fig = dict(data=data, layout=layout)
# Plot and embed in ipython notebook!
plotly.offline.iplot(fig, filename='basic-scatter')
尝试使用方形或矩形标记的基本散点图。"data": [ {"type": "scatter", "marker": { "symbol": "square", "color": "#FF0000"}, ... }]
可用的各种标记类型在这里:https ://plot.ly/python/reference/#scatter-marker-symbol