【发布时间】:2020-02-17 22:53:23
【问题描述】:
我使用 plotly 包在 python 中显示动态财务图表。但是,我没有设法将所有关键点线放在一个带有 for 循环的图表上。这是我的代码:
fig.update_layout(
for i in range(0,len(data)):
shapes=[
go.layout.Shape(
type="rect",
x0=data['Date'][i],
y0=data['Max_alt'][i],
x1='2019-12-31',
y1=data['Max_ust'][i],
fillcolor="LightSkyBlue",
opacity=0.5,
layer="below",
line_width=0)])
fig.show()
我有如下数据。它是基于时间序列的 EURUSD 平价金融数据集。我计算了局部最小值和最大值的两个约束。我想根据每个 Min_alt / Min_ust 和 Max_alt / Max_range 绘制矩形形状。我只能绘制一个日期,如下图所示,但是我没有设法在同一个绘图图中显示所有范围。
这里是sample data set。
添加行的解决方法如下:
import datetime
colors = ["LightSkyBlue", "RoyalBlue", "forestgreen", "lightseagreen"]
ply_shapes = {}
for i in range(0, len(data1)):
ply_shapes['shape_' + str(i)]=go.layout.Shape(type="rect",
x0=data1['Date'][i].strftime('%Y-%m-%d'),
y0=data1['Max_alt'][i],
x1='2019-12-31',
y1=data1['Max_ust'][i],
fillcolor="LightSkyBlue",
opacity=0.5,
layer="below"
)
lst_shapes=list(ply_shapes.values())
fig1.update_layout(shapes=lst_shapes)
fig1.show()
但是,在这些行中添加跟踪仍然存在问题。我的意思是文本属性。
这是我的代码:
add_trace = {}
for i in range(0, len(data1)):
add_trace['scatter_' + str(i)] = go.Scatter(
x=['2019-12-31'],
y=[data1['Max_ust'][i]],
text=[str(data['Max_Label'][i])],
mode="text")
lst_trace = list(add_trace.values())
fig2=go.Figure(lst_trace)
fig2.show()
【问题讨论】:
标签: python loops for-loop plotly data-visualization