在Plotly Python中创建文本框
我是否可以在在Plotly Python中创建文本框,python,plotly,plotly-dash,Python,Plotly,Plotly Dash,我是否可以在中绘出一份报告,其中左侧是文本,在滑块上更改,右侧是我的图表?最好不使用dash和过多的javascript 应该是这样的: 对于仍在寻找答案的人: 一些plotly.graph\u对象首先是基础: Plotly图形由3部分组成:数据(要绘制的轨迹)、布局(要在其上绘制数据)、框架(用于循环的数据+布局) 要回答您的问题以在左侧包含文本,您必须将文本作为注释(布局)写入。要在右侧包含两个图表,请使用子图(数据)。要使用滑块拾取更新它们,必须使用帧更新它们。每个帧都有对应于该滑块位置的
中绘出一份报告,其中左侧是文本,在滑块上更改,右侧是我的图表?最好不使用dash
和过多的javascript
应该是这样的:
对于仍在寻找答案的人:
一些plotly.graph\u对象首先是基础:
Plotly图形由3部分组成:数据(要绘制的轨迹)、布局(要在其上绘制数据)、框架(用于循环的数据+布局)
要回答您的问题以在左侧包含文本,您必须将文本作为注释(布局)写入。要在右侧包含两个图表,请使用子图(数据)。要使用滑块拾取更新它们,必须使用帧更新它们。每个帧都有对应于该滑块位置的数据+布局
通用代码流:
让我们假设:
数据帧df有4列X、Y1、Y2和日期
滑块代表不同的日期
#导入plotly图形对象
导入plotly.graph_对象作为go
#不同的日期
dates=df['dates'].unique().tolist()
#一审绘图
数据=[]
#图1
数据1={{
“x”:列表(df[“x”]),
“y”:列表(df[“Y1”]),
“类型”:“散布”},
“ncol”:2,“nrow”:1#子地块位置
}
#图2
数据_dict2={
“x”:列表(df[“x”]),
“y”:列表(df[“Y2”]),
“类型”:“分散”,
“ncol”:2,“nrow”:2#子地块位置
}
数据=[data_dict1,data_dict2]#组合两个图
#布局和滑块
布局={
“滑块”:[{
#输入所需的滑块布局
,“步骤”:[]#应在滑块中包含此行
}],
“注释”:[{
#输入所需的注释
}]
}#布局结束
#制作框架
帧=[]
对于日期中的日期:
frame={“data”:[],“name”:str(date),“layout”:{“annotations”:[]}}保存每个数据帧
dataset=df[df[Dates]==date]#为日期设置数据子集
#为此子集数据创建图表
#图1
数据1={{
“x”:列表(数据集[“x”]),
“y”:列表(数据集[“Y1”]),
“类型”:“散布”},
“ncol”:2,“nrow”:1#子地块位置
}
#图2
数据_dict2={
“x”:列表(数据集[“x”]),
“y”:列表(数据集[“Y2”]),
“类型”:“分散”,
“ncol”:2,“nrow”:2#子地块位置
}
#将此数据添加到框架
帧[“数据”]=[数据目录1,数据目录2]
#使用注释创建要显示的线
注释1={
#为第1行添加数据
}
注释2={
#为第2行添加数据
}
注释3={
#为第3行添加数据
}
注释4={
#为第4行添加数据
}
#将所有注释行添加到框架
框架[“布局”][“注释”]=“注释1、注释2、注释3、注释4]
#组合所有帧
frames.append(frame)
#更新滑块步骤
滑块_步={
“标签”:日期,
“方法”:“更新”}
#向布局滑块添加步骤
布局[“滑块”][0][“步骤”]。附加(滑块步骤)
#结合一切
图=开始图(数据=数据,布局=布局,帧=帧)
#在浏览器中查看
绘图(图,自动打开=真)
希望逻辑流程清晰 看一看:(链接输出)@MaximilinPeters,谢谢。有没有另外一种不用破折号的方法?据我所知,没有,不是在python中。你认为这能帮你吗?@user32185,很遗憾,没有那么多,但谢谢你的链接!