Python 使用matplotlib导出大图形
我正在尝试输出一个使用scipy制作的图像。当我导出图像时,文本完全无法读取,因为我有3000多个叶节点。你知道怎么处理这件事吗 我现在的代码示例Python 使用matplotlib导出大图形,python,numpy,matplotlib,scipy,dendrogram,Python,Numpy,Matplotlib,Scipy,Dendrogram,我正在尝试输出一个使用scipy制作的图像。当我导出图像时,文本完全无法读取,因为我有3000多个叶节点。你知道怎么处理这件事吗 我现在的代码示例 from scipy.cluster.hierarchy import ward, dendrogram import matplotlib.pyplot as plt lmat = ward(dist) ax = dendrogram(lmat, orientation="right", labels=names) plt.tight_layou
from scipy.cluster.hierarchy import ward, dendrogram
import matplotlib.pyplot as plt
lmat = ward(dist)
ax = dendrogram(lmat, orientation="right", labels=names)
plt.tight_layout()
plt.savefig('dendrogram.png')
如果我手动设置一个非常大的图像大小
fig, ax = plt.subplots(figsize=(10, 200))
我会犯这样的错误
X Error of failed request: BadAlloc (insufficient resources for operation)
Major opcode of failed request: 53 (X_CreatePixmap)
Serial number of failed request: 298
Current serial number in output stream: 300
我想一个解决方案是使用GUI手动放大它的各个部分并保存/加入这些图像,但我真的不希望这样做 你试过矢量图形格式吗?不过,我不确定这是否有效。你可能需要重新考虑一下,巨大树状图是否真的是表示数据的最佳方式。我看不出试图表示所有3000多个叶节点有多大意义——即使你能生成这个数字,任何人都很难解释,更不用说让它在屏幕上或印刷品上看起来好看了。至少截断它可能更有意义(请参阅
truncate_mode
参数)。@cel向量输出似乎确实解决了内存问题,但不是我的可视化issue@ali_m我知道这可能不是最实用的输出,但我计划使用一些javascript,等显示一个连续滚动的叶子,人们说可以创建这样的情节,但如何呢?我们完全同意这不可能是最好的选择,但如果可能,怎么办?