仪表盘数据_表格中各个单元格的背景颜色

问题描述 投票:1回答:1

我的显示方式是 dash_table.DataTable 在一个数据框中,有一列用十六进制格式表示的颜色名称,代码如下。

import dash
import dash_table
import pandas as pd

df = pd.DataFrame(data = dict(COLOR = ['#1f77b4', '#d62728', '#e377c2', '#17becf', '#bcbd22'],
                              VALUE = [1, 2, 3, 4, 5]))

app = dash.Dash(__name__)

app.layout = html.Div([dash_table.DataTable(id = 'table',
                                            columns = [{"name": i, "id": i} for i in df.columns],
                                            data = df.to_dict('records'))],
                      style = dict(width = '200px'))

if __name__ == '__main__':
    app.run_server()

这就是我得到的结果。

enter image description here

我想为每个单元格的内容设置背景色(也许还有字体的颜色),但只为那一列(总是表格的第一列)设置,以便得到这个。

enter image description here

对我来说,可以替换为:"我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说 dash_table.DataTableplotly.graph_objects.Table (文件),这也许是更可定制的;只要我能够实现的是 plotly.graph_objects.Table 在...中 dash 仪表盘。

版本信息。

Python               3.7.0
dash                 1.12.0
dash-table           4.7.0
plotly               4.7.0
python datatable background-color plotly-dash
1个回答
3
投票

你可以使用下面的代码定义每个单元格的背景色和字体颜色(以及其他一些属性 style_data_conditionalhttps:/dash.plotly.comdatatablestyle。.

import dash
import dash_table
import dash_html_components as html
import pandas as pd

df = pd.DataFrame(data=dict(COLOR=['#1f77b4', '#d62728', '#e377c2', '#17becf', '#bcbd22'],
                            VALUE=[1, 2, 3, 4, 5]))

app = dash.Dash(__name__)

app.layout = html.Div([

    dash_table.DataTable(
        id='table',
        columns=[{'name': i, 'id': i} for i in df.columns],
        data=df.to_dict('records'),
        style_data_conditional=[{'if': {'row_index': i, 'column_id': 'COLOR'}, 'background-color': df['COLOR'][i], 'color': df['COLOR'][i]} for i in range(df.shape[0])]
    ),

], style=dict(width='100px'))

if __name__ == '__main__':
    app.run_server()
© www.soinside.com 2019 - 2024. All rights reserved.