【发布时间】:2018-12-12 04:16:51
【问题描述】:
我有一个程序,简而言之,它连接到 Cisco 无线控制器并收集有关每个接入点的客户端数量的数据。它在间隔之间的“y”时间以“x”间隔运行。
程序运行良好。
注意 下面显示的两个输出文件都显示了 9 次通过,每次通过之间 15 秒。您真正关心的是我有 9 列(每次传递一个),而这些行是 AP 及其连接的客户端。
我的问题是:当我在一个小型客户端(93 个接入点)上运行它时,输出看起来完全符合我的要求:
但是当我对另一个客户端(1840 个接入点)运行它时,输出如下所示:
这是我的程序的相关部分:
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 行。
【问题讨论】:
标签: python-3.x pandas python-3.6 heatmap seaborn