使用破折号和Python绘图快速可视化大型表格

使用破折号和Python绘图快速可视化大型表格,python,datatable,plotly,visualization,plotly-dash,Python,Datatable,Plotly,Visualization,Plotly Dash,我正在使用Dash DataTable来表示氨基酸序列(字符序列)并可视化它们之间的差异(是的,我知道我可以使用Dash_生物对齐图,但我不想,对于清晰地可视化差异来说,它是彩色的,毫无用处) 我已经做了23个氨基酸序列(23个表行)x183个氨基酸(183个表列)。我的问题是,我通常希望表示100多行x100多列,Dash需要很长时间才能更新这样大小的表。你知道其他更快的可视化表格的方法吗(我可以集成到我的Dash应用程序中) 我的更新列和数据的回调函数很快。问题在于Dash何时读取此类数据

我正在使用Dash DataTable来表示氨基酸序列(字符序列)并可视化它们之间的差异(是的,我知道我可以使用Dash_生物对齐图,但我不想,对于清晰地可视化差异来说,它是彩色的,毫无用处)

我已经做了23个氨基酸序列(23个表行)x183个氨基酸(183个表列)。我的问题是,我通常希望表示100多行x100多列,Dash需要很长时间才能更新这样大小的表。你知道其他更快的可视化表格的方法吗(我可以集成到我的Dash应用程序中)

  • 我的更新列和数据的回调函数很快。问题在于Dash何时读取此类数据
可能有助于理解我需要的代码:

#Sequence Comparison
    html.Div([
        dcc.Loading(id='file-loader', type="default", children=[html.Div([
            html.H6('Sequence Comparison within a cluster.'),

            html.Label('This is a range slider'),
            dcc.RangeSlider(
                id='column-slider',
                min=0,
                max=182,
                step= 1,
                value= [0,0], #A slider that allows a range specifications
                marks= af.getTableSliderMarks()
            ),
            dash_table.DataTable(id = 'seq_comparison_table')
        ])]),
抱歉,该消息是西班牙语的,但当网页不应答时,它是常见的Chrome消息


欢迎来到堆栈溢出。你能把你的代码的相关部分分享给我们吗?如果没有它,你的问题就有点猜疑了。恐怕我不能分享可复制的代码。我想你可以考虑使用一些分页符,这样就不必同时渲染所有的东西。或者从破折号数据表切换到简单的破折号HTML表。这实际上是一个令人难以置信的建议。这是有道理的,而且很有效,非常感谢。
@app.callback(
    [Output('seq_comparison_table', 'data'),
    Output('seq_comparison_table', 'style_data_conditional')],
    [Input('clustering-3D', 'clickData'), 
    Input('clustering-3D', 'figure'), 
    Input('column-slider', 'value'),
    Input('HLA-dropdown-1', 'value')])
def click_data(clickData, clust_data, slider_range, hla_type):
    
#Code to fill table_data and style_data_conditional (not so relevant)

#when table_data == dictionary of 23 rows and 183 columns(or less). Then Dash DataTable is updated after approx 15 seconds. 

#when table_data == dictionary of 100 rows and 100 columns(For example). Then Dash DataTable takes long times to update (Chrome throws a message, that I attach as a picture later in this post, before finishing the task)

    return table_data, style_data_conditional
                    
                    
@app.callback(Output('seq_comparison_table', 'columns'),[Input('column-slider','value')])
def updateComparisonTableColumns(slider_range):
    #Code to fill columns variable

    return columns