Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Plotly Python中创建文本框_Python_Plotly_Plotly Dash - Fatal编程技术网

在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,很遗憾,没有那么多,但谢谢你的链接!