【发布时间】:2017-11-27 14:13:21
【问题描述】:
python 3.6 最新的情节使用: python Graph 是使用 plotly offline/Online 函数创建的,其中三个不同的数据框输入用于 y 轴绘图并共享 x 轴(通常是日期索引)。图表非常好。
仅针对特定子图布局显示当前布局图表上的活动区域数据,我希望在将鼠标悬停在任何布局中时显示所有三个布局数据。如何实现这一点?
eq_high = go.Scatter(
x=df.index,
y=df['High'],
name = "EQHigh",
line = dict(color = '#3EBF06'),
opacity = 0.8)
eq_low = go.Scatter(
x=df.index,
y=df['Low'],
name = "EQLow",
line = dict(color = '#FD2D00'),
opacity = 0.8)
##
op_high_ce = go.Scatter(
x=stock_opt_ce.index,
y=stock_opt_ce['High'],
name = "OpHighCE",
line = dict(color = '#15655F'),
opacity = 0.8)
op_low_ce = go.Scatter(
x=stock_opt_ce.index,
y=stock_opt_ce['Low'],
name = "OpLowCE",
line = dict(color = '#0D7B7F'),
opacity = 0.8)
op_last_ce = go.Scatter(
x=stock_opt_ce.index,
y=stock_opt_ce['Last'],
name = "OpLastCE",
line = dict(color = '#6AA6A2'),
opacity = 0.8)
op_settlePr_ce = go.Scatter(
x=stock_opt_ce.index,
y=stock_opt_ce['Settle Price'],
name = "OpSettlePrCE",
line = dict(color = '#2AADD1'),
opacity = 0.8)
##
op_high_pe = go.Scatter(
x=stock_opt_pe.index,
y=stock_opt_pe['High'],
name = "OpHighPE",
line = dict(color = '#FA6300'),
opacity = 0.8)
op_low_pe = go.Scatter(
x=stock_opt_pe.index,
y=stock_opt_pe['Low'],
name = "OpLowPE",
line = dict(color = '#AC4C0D'),
opacity = 0.8)
op_last_pe = go.Scatter(
x=stock_opt_pe.index,
y=stock_opt_pe['Last'],
name = "OpLastPE",
line = dict(color = '#E19B6D'),
opacity = 0.8)
op_settlepr_pe = go.Scatter(
x=stock_opt_pe.index,
y=stock_opt_pe['Low'],
name = "OpSettlePrPE",
line = dict(color = '#A54E1F'),
opacity = 0.8)
data = [eq_high,eq_low,op_high_ce,op_low_ce,op_settlePr_ce,op_high_pe,op_low_pe,op_settlepr_pe]
#custome Date Range plotting
layout = dict(
title = "Graph",
xaxis = dict(
range = ['2017-10-1','2017-11-27'])
)
fig = dict(data=data, layout=layout)
iplot(fig, filename = "CorrelationOfEquityAndOptionData")
plot(fig,show_link = False)
1.在上面的代码中,鼠标悬停时显示所有三个布局数据值需要做哪些更改。目前它只显示一个布局图值。
2.如何在右侧或顶部或底部或左侧显示图形数据点,而不是在图形上显示图形数据。
3.任何更好的优化方式。
预期结果:
【问题讨论】:
-
有解决办法吗,请反馈。
-
如果您仍然对答案感兴趣,您可以从您的数据框中添加一些示例数据吗?
-
@MaximilianPeters 在上面的图表中捕获的预期输出是什么(单击链接查看...)。只需将鼠标悬停在直线相交处即可显示所有值。
-
我已经在 plotly.js#2114(comment) 使用自定义 javascript 使其适用于 plotly Dash。或许可以通过 HTML 函数将 javascript 注入到 notebook 中,但非常 hacky。
标签: python python-3.x graph plotly timeserieschart