Глядя на ваш domain
параметр, особенно там, где вы устанавливаете yaxis:
domain=dict(x=[0, 1], y=[0, 0.5]),
и
yaxis1=dict(axis, **dict(domain=[0.55, 1],
По коду вы говорите, что таблица будет составлять от 0% до 50% по оси Yaxis. И график - от 55% до 100%. Но смотри! Ваша таблица слишком мала, чтобы заполнить этот пробел (50%).
Итак, у вас есть варианты решения проблемы:
Увеличение количества данных в вашей таблице. Тогда размер таблицы увеличится, а разрыв уменьшится и впоследствии исчезнет;
Или поверните таблицу снизу и увеличьте размер графика (например, 0-15% до таблицы и 15-100% для графика по оси Yaxis), и результат должен быть примерно таким (полный код ниже):
Код:
import matplotlib
matplotlib.use('Agg')
import plotly.offline as offline
from plotly import tools
import plotly.graph_objs as go
trace1=go.Scatter(x=[1, 2, 3], y=[1, 3, 5], name='abc', mode = 'lines+markers', xaxis='x1', yaxis='y1', showlegend=True)
trace2=go.Scatter(x=[1, 2, 3], y=[1, 2, 3], name='cba', mode = 'lines+markers', xaxis='x1', yaxis='y1', showlegend=True)
trace3=go.Table(
#Set space for table from 0% to 15%
domain=dict(x=[0, 1], y=[0, 0.15]),
header=dict(values=['', 'fields1', 'fields2', 'fields3']),
cells=dict(values=[[['row1'], ['row2'], ['row3']], [['11'], ['12'], ['13']], [['21'], ['22'], ['23']], [['31'], ['32'], ['33']]], font = dict(color = '#506784', size = 11))
)
axis=dict(
showline=True,
zeroline=False,
showgrid=True,
mirror=True,
ticklen=4,
gridcolor='#ffffff',
tickfont=dict(size=10)
)
param1 = dict(
xaxis1=dict(axis, **dict(domain=[0, 1], anchor='y1', showticklabels=False)),
#Set space to graph from 15% to 100%
yaxis1=dict(axis, **dict(domain=[0.15, 1], anchor='x1', tickprefix='$', hoverformat='.2f')),
)
layout1 = dict(
title='Bitcoin mining stats for 180 days',
margin = dict(t=100),
showlegend=False,
plot_bgcolor='rgba(228, 222, 249, 0.65)',
autosize=True,
)
layout1.update(param1)
fig1=dict(data=[trace1, trace2, trace3], layout=layout1)
offline.plot(fig1, auto_open=False, output_type='file', filename='abc.html')
Также вы можете установить параметры xaxis для получения более красивого графика (установите пространство для графика от 25% до 75%):