Пройдя через руководство по подзаголовкам таблиц, я смог воспроизвести то, что вам нужно!
К сожалению, мы не можем использовать подзаголовки, как вы сказали, но этот другой метод не такой сложный, я постараюсь объяснить его в меру своих возможностей, чтобы вы могли реализовать его для других случаев использования.
Вам нужно знать свойство domain
, где мы можем указать словарь, содержащий x and y start and end values
, таким образом, мы можем расположить графики в разных местах, и эта концепция используется для создания подзаголовков.
Примечание. Нулевые значения домена x и y начинаются в нижнем левом углу холста.
Итак, для таблицы мы можем видеть домен, как показано ниже.
domain=dict(x=[0, 1], y=[0, 0.3])
Как вы можете видеть, мы говорим, что он должен начинаться с левого конца и растягиваться до правого конца графического холста, но если вы посмотрите на значения y, мы говорим, что он должен начинаться снизу и растягиваться только до 0,3 (30 %) графического полотна, поэтому есть место для размещения гистограммы!
Что касается гистограммы, домен указывается другим методом, проблема в том, что у нас нет удобного параметра domain
, поэтому мы можем позиционировать его, используя его x and y axis
.
trace1 = go.Bar(
x=[1, 2, 3],
y=[4, 5, 6],
xaxis="X1",
yaxis="Y1"
)
layout = dict(xaxis1=dict( dict(domain=[0, 1], anchor='y1')),
yaxis1=dict( dict(domain=[0.38, 1], anchor='x1')))
Здесь мы видим, что в определении гистограммы нам просто нужно установить имена осей x и y диаграммы, а в макете мы можем определить домен, аналогично тому, что мы сделали в таблице.
Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы, и если ваша проблема полностью решена!
Ниже приведен рабочий фрагмент, к которому вы можете обратиться!
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
from plotly import tools
import pandas as pd
import numpy as np
from datetime import datetime
init_notebook_mode(connected=True)
trace = go.Table(
header=dict(values=['A Scores', 'B Scores']),
cells=dict(values=[[100, 90, 80, 90],
[95, 85, 75, 95]]),
domain=dict(x=[0, 1],
y=[0, 0.3]))
trace1 = go.Bar(
x=[1, 2, 3],
y=[4, 5, 6],
xaxis="X1",
yaxis="Y1"
)
layout = dict(xaxis1=dict( dict(domain=[0, 1], anchor='y1')),
yaxis1=dict( dict(domain=[0.38, 1], anchor='x1')))
fig = go.Figure(data = [trace,trace1], layout = layout)
iplot(fig, filename = 'basic_table')
person
Naren Murali
schedule
13.01.2018