我这里有一段非常简化的代码,是我正在为一个开源项目工作的ATE结果绘图功能而编写的,用于从STDF数据中绘制。
def plot_everything_from_one_test(test_data, data, num_of_sites, test_tuple):
plt.figure()
# Title for everything
plt.suptitle("Test Information Goes Here")
# Find the limits
low_lim = get_plot_min(data, test_tuple, num_of_sites)
hi_lim = get_plot_max(data, test_tuple, num_of_sites)
######
table = function_that_returns_a_dataframe()
plt.subplot(121)
# HOW WOULD I ACTUALLY PUT A DATAFRAME HERE
######
# Plots the trendline
plt.subplot(222)
plot_full_test_trend(test_data, low_lim, hi_lim)
plt.title("Trendline")
# Plots the histogram
plt.subplot(224)
plot_full_test_hist(test_data, low_lim, hi_lim)
plt.title("Histogram")
plt.show()
基本上,我所要做的就是在子图区域(121)中呈现一个包含数组、数据帧或其他内容的简单表格。这个数据帧恰好有10列宽度和不确定的长度(数量级为~10S,但如果需要可以削减)。我看过一些资料,知道matplotlib有table()函数,但从我所看到的来看,它会创建一个新的图形(不需要),并且还试图在其上方强制渲染一个图表,即使我真的没有想要那个图表因为它真的没有用处。我看到这个问题可以被规避,但我不知道如何在保留子图的情况下处理它。也许我只是不明白matplotlib如何处理它们。
另一个问题是,当我设法呈现表格时,它们变得极慢,甚至需要一分钟才能呈现出一个10x30左右的数据框。而且,文本呈现得非常小,并且无法缩放。如果这听起来像一堆问题,我很抱歉,但我真的不知道该如何处理应该是一个简单的表格呈现。如果我真的需要,我可能会将其转换为字符串,并将其呈现为文本。提前感谢您!