Я хотел бы наложить таблицу matplotlib на график, на котором есть сетка, то есть таблица должна скрыть что-либо позади нее на сетке.
Я также хотел бы, чтобы граница выглядела так, как будто каждая строка имеетграница, а не граница вокруг каждой ячейки.Однако настройка cell.visible_edges
, кажется, нарушает заливку.
Пример для иллюстрации
import matplotlib.pyplot as plt
import numpy as np
# a plot with a grid
x = np.linspace(0, 10, 11)
y = x ** 2
plt.plot(x, y)
plt.grid()
# a table on the same axis with a visible background colour
col_labels = ['col1', 'col2', 'col3']
row_labels = ['row1', 'row2', 'row3']
table_vals = [[11, 12, 13], [21, 22, 23], [31, 32, 33, ]]
colours = [['c'] * 3] * 3
the_table = plt.table(cellText=table_vals,
colWidths=[0.1] * len(col_labels),
cellColours=colours,
rowLabels=row_labels,
bbox=(0.8, 0.8, 0.2, 0.2))
# bump the zorder up so it occludes the underlying chart
the_table.set_zorder(1000)
# change the visible_edges to produce a row border effect
for row_idx, row in enumerate(table_vals):
for col_idx, col in enumerate(row):
edges = 'B'
if col_idx == 0:
edges += 'L'
elif col_idx == 2:
edges += 'R'
the_table[row_idx, col_idx].visible_edges = edges
plt.show()
В результате ячейки заполняются непоследовательно и сетка все еще видна

Если я удаляю изменение в visible_edges, тогда оно заполняется, как ожидается

Есть лиспособ объединить эти два эффекта?
(примеры, созданные с использованием matplotlib 2.2.3)