【发布时间】:2018-08-18 11:08:17
【问题描述】:
我在这里有一个(非常简化的)代码段,用于我正在开发的一个开源项目,用于从 STDF 数据中绘制 ATE 结果...
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 列宽且无限长(大约 10 秒,但可以根据需要进行修剪)。我环顾四周,我知道 matplotlib 有 table(),但据我所知,它创建了一个新图形(不需要的),它还试图强制在它上面渲染一个图形,即使我真的不想要那个渲染,因为它真的没用。我看到这可能是一种规避,但我不知道如何在保留我的子图的同时管理它。也许我只是不明白 matplotlib 如何与它们一起工作。
另一个问题是,当我可以让表格进行渲染时,它们的速度非常慢,渲染一个 10x30 左右的数据帧需要超过一分钟。此外,文本渲染得太小而且无法缩放。对不起,如果这一切听起来像一堆问题,但我真的不知道我将如何处理应该是一个简单的表格渲染。如果我真的需要,我可以将其转换为字符串并将其呈现为文本。提前致谢!
【问题讨论】:
-
table不会创建新的数字。它也不会强加任何东西。周围的桌子上有很多问题。因此,如果您分享您有问题的代码并明确说明为什么其他问题没有帮助,那将是一件好事,请参阅How to Ask 和minimal reproducible example。时间也是一样 - 没有看到你在代码方面做了什么,只能推测为什么需要这么长时间。
标签: python pandas dataframe matplotlib subplot