缩放Seaborn Heatmap .png输出文件

时间:2018-07-03 19:13:11

标签: python-3.x pandas python-3.6 heatmap seaborn

简而言之,我有一个程序可以连接到Cisco无线控制器,并收集有关每个接入点客户端数量的数据。它以间隔“ y”的时间间隔以“ x”间隔运行。

程序运行正常。

注意下面显示的两个输出文件在每遍之间的15秒处显示九遍。您真正关心的是,我有9列(每遍一次),行是AP及其连接的客户端。

我的问题是这样的:当我在一个小型客户端(93个访问点)上运行它时,输出看起来完全是我想要的方式:

enter image description here

但是当我针对另一个客户端(1840个接入点)运行它时,输出如下所示:

enter image description here

这是我程序的相关部分:

df = pd.DataFrame(e, index=index, columns=cols)
df = df.transpose()

my_dpi = 96
sns.set(font_scale=2)
# plt.figure(figsize=(13, 91))
plt.figure(figsize=(2016 / my_dpi, 9120 / my_dpi), dpi=my_dpi)

sns.heatmap(df, cmap='RdYlGn_r', linewidths=0.5, annot=True, annot_kws={"size": 20})

plt.savefig('d:\\python\\projects\\clients_per_ap\\ac.png')
plt.show()

我尝试将9120更改为912000,但收到一条错误消息,指出该值必须小于2 ^ 16。我尝试了65535,但是该程序失败并出现内存错误。我尝试了54720,但效果很好– 54720产生了您在此处看到的输出作为第二个图像,但是它不可用。

如何缩放带有1840 AP的客户端的输出文件,使其看起来像具有93 AP的客户端的输出文件?基本上,我想要相同(或非常接近)的字体和宽度,只有1840行而不是93行。

1 个答案:

答案 0 :(得分:0)

您是否尝试过以矢量格式输出文件? .PDF通常效果很好。确保在放大时文本看起来会很大,但这可能是处理太大而无法存储的输出的最佳选择。然后,出于某种原因,您可以使用任何经典的PDF到PNG的转换。