Python 具有多个标题或合并列的表

Python 具有多个标题或合并列的表,python,plotly,Python,Plotly,我正在尝试用callback在plotly中构建一个表,我正在使用Go.table,但我无法创建多个标题 如果我读得正确,则不能创建多个标题 第一种可能的解决方案是将标题移动到值: import plotly import plotly.graph_objs as go trace = go.Table( header=dict(values=['Version', 'Baseline', 'Promo', 'VDP+']), cells=dict(values=[['', '

我正在尝试用callback在plotly中构建一个表,我正在使用Go.table,但我无法创建多个标题

如果我读得正确,则不能创建多个标题

第一种可能的解决方案是将标题移动到值:

import plotly
import plotly.graph_objs as go

trace = go.Table(
    header=dict(values=['Version', 'Baseline', 'Promo', 'VDP+']),
    cells=dict(values=[['', '08/20 to 08/27','08/13 to 08/20', '08/06 to 08/13',\
                        '07/30 to 08/06'],
                       ['Current Month: Aug 18', '', '', '', ''],
                       ['Current Month: Aug 18', '', '', '', ''],
                       ['Current Month: Aug 18', '', '', '', '']]))

data = [trace] 
plotly.offline.plot(data, filename = 'basic_table.html')
看起来像:

但是你不能用它们来操作,比如柱子什么的都不好

第二种可能的解决方案是指定前缀或后缀-取决于您更喜欢什么:

import plotly
import plotly.graph_objs as go

trace = go.Table(
    header=dict(values=['Version', '.Baseline', '.Promo', '.VDP+'], 
                prefix = ['','Current_Month:_Aug_18', 'Current_Month:_Aug_18',\
                          'Current_Month:_Aug_18'],
                ),
    cells=dict(values=[['08/20 to 08/27', '08/13 to 08/20', '08/06 to 08/13', \
                        '07/30 to 08/06'],
                       ['', '', '', ''],
                       ['', '', '', ''],
                       ['', '', '', '']]))

data = [trace] 
plotly.offline.plot(data, filename = 'basic_table.html')
在这种情况下,您可以添加列作为前缀或后缀

看起来像:

更新:是的,您可以创建一个空行,但不指定标题:

更新:目前我找到了获取您所需的方法:

import plotly
import plotly.graph_objs as go

trace = go.Table(
    header=dict(values=[['Version', ''],
                        ['Baseline', 'Current Month: Aug 18'],
                        ['Promo', 'Current Month: Aug 18'],
                        ['VDP+', 'Current Month: Aug 18']]),
    cells=dict(values=[['08/20 to 08/27', '08/13 to 08/20', '08/06 to 08/13', \
                        '07/30 to 08/06'],
                       ['', '', '', ''],
                       ['', '', '', ''],
                       ['', '', '', '']]))

data = [trace] 
plotly.offline.plot(data, filename = 'basic_table.html')
看起来像:

我不能选择一行,但可以选择标题的整行在标题值之后添加line=dictwidth=0:
或者设置行数,但对于所有行,再次使用与上述相同的结果

这很有帮助,我尝试了前缀-后缀的方式,但客户执意添加标题。还有,有没有办法一起隐藏标题,如果不传递标题跟踪,我会得到一个空行@saket dabi,正如我正确理解您的,您可以获得空行,请参阅更新的应答,但是,与您的情况一样,当没有传递标题时,空的顶行仍然可见。我们有可能把它完全隐藏起来吗?或者从那里删除网格线。@saket dabi,我得到了更新的答案。如我所知,在plotly中,您不能删除某一行