簡體   English   中英

Plotly 破折號:單個單元格的 data_table 背景顏色

[英]Plotly Dash: data_table background color for individual cell

我在dash_table.DataTable中顯示 dataframe ,其中有一列顏色名稱為十六進制格式,代碼如下:

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()

這就是我得到的:

在此處輸入圖像描述

我想設置每個單獨單元格的背景顏色(可能還有字體顏色)及其內容,但僅限於該列(始終是表格的第一列)以獲得此:

在此處輸入圖像描述

對我來說可以將dash_table.DataTable替換為plotly.graph_objects.Table文檔),這可能更可定制; 前提是我可以在dash板中實現plotly.graph_objects.Table

版本信息:

Python               3.7.0
dash                 1.12.0
dash-table           4.7.0
plotly               4.7.0

您可以使用style_data_conditional每個單獨單元格的背景顏色和字體顏色(以及其他幾個屬性),請參閱https://dash.plotly.com/datatable/style

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM