有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件?

2024-04-07

我正在评估 pythonplotly 和/或 dash 作为更新图像的链接图的 bokeh/holoviews 的替代品。

要求: 将数据点链接到图像: 我有散点图和热图,其中各个数据点代表从图像派生的值。我想从散点图中的数据点链接回该数据点的数值所源自的图像。 图像数据位于 numpy 数组中,或者可以由回调函数提供。我想避免将 .png 文件写入磁盘并将 png 文件嵌入 html 元素中。

将图像选择链接到数据点: 例如显示图像。根据图像中的选择更新绘图(例如简单的直方图)。

但是,我似乎找不到任何用于在绘图/破折号中显示图像的小部件。我错过了什么还是真的没有这样的东西?


我想从散点图中的数据点链接回该数据点的数值所源自的图像。

See https://plot.ly/dash/interactive-graphing https://plot.ly/dash/interactive-graphing。您可以分配一个callback to selectedData, hoverData, or clickData的财产dash_core_components.Graph.

将图像选择链接到数据点:例如显示图像。根据图像中的选择更新绘图(例如简单的直方图)。

您可以在绘图上显示背景图像,然后使用相同的selectedData用于根据所选区域更新回调的工具。这是一个简单的例子:

import dash
from dash.dependencies import Input, Output
import dash_core_components as dcc
import dash_html_components as html
import base64
import json

app = dash.Dash()
app.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/dZVMbK.css'})

RANGE = [0, 1]

def InteractiveImage(id, image_path):
    encoded_image = base64.b64encode(open(image_path, 'rb').read())
    return dcc.Graph(
        id=id,
        figure={
            'data': [],
            'layout': {
                'xaxis': {
                    'range': RANGE
                },
                'yaxis': {
                    'range': RANGE,
                    'scaleanchor': 'x',
                    'scaleratio': 1
                },
                'height': 600,
                'images': [{
                    'xref': 'x',
                    'yref': 'y',
                    'x': RANGE[0],
                    'y': RANGE[1],
                    'sizex': RANGE[1] - RANGE[0],
                    'sizey': RANGE[1] - RANGE[0],
                    'sizing': 'stretch',
                    'layer': 'below',
                    'source': 'data:image/png;base64,{}'.format(encoded_image)
                }],
                'dragmode': 'select'  # or 'lasso'
            }
        }
    )


app.layout = html.Div([
    html.Div(className='row', children=[
        html.Div(InteractiveImage('image', 'dash_app.png'), className='six columns'),
        html.Div(dcc.Graph(id='graph'), className='six columns')
    ]),
    html.Pre(id='console')
])


# display the event data for debugging
@app.callback(Output('console', 'children'), [Input('image', 'selectedData')])
def display_selected_data(selectedData):
    return json.dumps(selectedData, indent=2)


@app.callback(Output('graph', 'figure'), [Input('image', 'selectedData')])
def update_histogram(selectedData):
    x_range = selectedData['range']['x']
    x_range = selectedData['range']['y']
    # filter data based off of selection in here

    # for simple example purposes, we'll just display the selected RANGE
    return {
        'data': [{
            'x': x_range,
            'y': x_range,
            'mode': 'markers',
            'marker': {
                'size': 20
            }
        }],
        'layout': {
            'xaxis': {'range': RANGE},
            'yaxis': {'range': RANGE, 'scaleanchor': 'x', 'scaleratio': 1},
            'height': 600
        }
    }


if __name__ == '__main__':
    app.run_server(debug=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件? 的相关文章

随机推荐

  • 将唯一 ID 实现为 UUID 并将其保存在 Keychain 中

    我的应用程序中需要唯一 ID 我知道 我们不能再使用 UDID 因此根据我的研究 使用 UUID 作为设备唯一 ID 并将其保存在钥匙串中将确保即使用户重新安装我的应用程序 唯一 ID 仍保持不变 我从 stackoverflow 上类似问
  • Perl 正则表达式中缺少最后一个字符

    记录小狗 记录需求 log s log 它的工作原理是在末尾 s 处缺少字符 如下所示 狗 需要 log s log 你不需要否定
  • OAuth 2.0 中的客户端密钥

    要使用 google Drive api 我必须使用 OAuth2 0 进行身份验证 我对此有一些疑问 客户端 ID 和客户端密钥用于识别我的应用程序是什么 但如果是客户端应用程序 则必须对它们进行硬编码 所以 每个人都可以反编译我的应用程
  • Linearlayout 中的背景图像

    我正在为我正在使用的线性布局的背景设置图像 我遇到的问题是标题栏下方的白色边框 如果我将背景设置为某种颜色 则不会出现白色边框 有谁知道可能是什么原因造成的 我正在动态加载一些内容 但这是 xml
  • FFmpeg RTP 流媒体错误 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想通过 FFmpeg 播放视频文件 但出现此错误 RTP 复用器仅支持一种流 当我写这个时 我得到了这个错误 ffmpeg exe i SomeVi
  • 如何在二维数组中找到北、东、南、西和对角邻居?

    我正在开发一个 2D 程序生成的 Unity 游戏 我想知道如何获得四个基本方向 N E S W 以及四个基本方向 NE SE 西南 西北 我想要实现的目标的示例 如果我们将单元格坐标视为row and column 您可以通过查看我们正在
  • 如何在线程中使用 telethon

    我想在后台运行一个函数 所以我在我的代码中使用线程 但返回错误ValueError signal only works in main thread并且不知道两件事 主线程是什么 如何解决这个问题呢 views py def callbac
  • 资源、放置它们的位置以及如何在 C# 中引用它们

    我已经使用 C 和其他编程语言有一段时间了 很遗憾地说我不熟悉有关在哪里放置程序图标等资源以及如何在代码中引用它们的标准 具体来说 对于 C Windows 窗体应用程序 将我的图标资源放在哪里比较合适 以及将它们放在正确的位置后引用它们的
  • 评估树遍历递归算法中是否可能出现堆栈溢出错误 (Java)

    从理论上 即不实际执行 确定某种树遍历递归算法将在 Java 中产生堆栈溢出的情况的最佳方法是什么 为了澄清我的问题 请考虑以下示例 给定一个用 Java 实现的简单二叉树 public class Node private int val
  • 自动镜像 git 存储库

    使用外部 Subversion 存储库的副作用之一是在每次提交时都会自动进行异地备份 我想使用 Git 来实现同样的目标 即 对本地存储库的每次提交都会自动提交到外部存储库 因此这两个存储库始终保持同步 我认为提交后挂钩将是最佳选择 有人有
  • Android Studio不理解Log函数

    一般来说 我对 Android 编程相当陌生 并且在打印到我的日志时遇到问题 我正在使用 Log v 来执行此操作 但收到错误 无法解析符号 v 这是代码 import android util Log public class Dress
  • 检查 CBPeripheralManager.authorizationStatus() 现在它已被弃用

    CBPeripheralManager authorizationStatus and CBPeripheralManagerAuthorizationStatus根据苹果文档已弃用 现在检查用户是否已授予在后台使用蓝牙的权限的正确方法是什
  • 将 SQL 粘贴到 MySQL 命令行

    我有一个正在定义一些 SQL 代码的应用程序 mySql SELECT sq question qs title sq id as question id sq type qs id as option id sri title as ra
  • 将日期拆分为年、月、日,且分隔符不一致

    我正在尝试将我的日期列 现在是字符串类型 拆分为 3 列 年 月 和 日期 我使用 PySpark split date pyspark sql functions split df Date df df withColumn Year s
  • 由围绕矩形顺时针方向移动的数字组成的图案(长度和宽度每次都减小)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经为许多模式编写了代码 但无法为此编写 甚至没有得到任何如何继续的提示 我想生成以下输出 1 2 3 4 5 16 17 18 1
  • HTML5 中卡片/卡片容器的元素?

    规格为article元素说 The article元素表示页面的组成部分 文档 页面 应用程序或站点中的独立组成部分 并且旨在可独立分发或可重复使用 例如在联合组织中 这可以是论坛帖子 杂志或 报纸文章 博客条目 用户提交的评论 交互式小部
  • 无法在 Chrome 中从 webworker 内部创建 Web Worker

    使用 Chrome 17 0 963 46 m 我尝试从 Web Worker 内部创建一个新的 Web Worker 但得到了 Uncaught ReferenceError Worker 未定义 任何信息 关于这个 令人惊讶的是 谷歌在
  • Laravel Livewire:输入选择,选择默认选项

    我正在尝试从数据库中获取国家 地区代码 并尝试通过 IP 地址获取默认值 它按照我想要的方式工作了一秒钟 但随后我不知道会发生什么 但它会自行刷新并滚动到第一个选项而不是选定的选项 Livewire 控制器组件 use App Models
  • 为什么在 VCL 控件上调用 TRttiContext.GetType 时某些属性会重复?

    为什么有些属性会重复 例如Action and Align 而其他人则没有 AlignWithMargins 当在 VCL 控件上调用 TRttiContext GetType 时 uses System RTTI System Gener
  • 有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件?

    我正在评估 pythonplotly 和 或 dash 作为更新图像的链接图的 bokeh holoviews 的替代品 要求 将数据点链接到图像 我有散点图和热图 其中各个数据点代表从图像派生的值 我想从散点图中的数据点链接回该数据点的数