我有一个矩阵,它有600个不同的标签。因此,它真的是一个很大的文件;当我创建一个图形来聚集我的数据时,我看不到这些标签。如何创建高分辨率文件并保存?
我已经试过下面的代码了。
import scipy.cluster.hierarchy as hcluster
import scipy.spatial.distance as ssd
SimMatrix = mainTable
distVec = ssd.squareform(SimMatrix)
linkage = hcluster.linkage(1 - distVec)
dendro = hcluster.dendrogram(linkage, leaf_rotation=90., leaf_font_size=0.5,)
matplotlib.pyplot.savefig('plt.png', dpi=520, format='png', bbox_inches='tight')我正在尝试获得大的高分辨率文件,它可以是png或jpeg。
我得到了下图作为图。
发布于 2019-10-22 22:29:28
问题不在于你的分辨率,而在于图像的大小(或线条的大小)。由于我不知道如何更改树状图中的线宽,因此我将直接使用直接的解决方案来制作一个巨大的图像。
import scipy.cluster.hierarchy as hcluster
import scipy.spatial.distance as ssd
import matplotlib.pyplot as plt
import numpy as np
SimMatrix = np.random.random((600,600))
SimMatrix = SimMatrix+SimMatrix.T
SimMatrix = np.abs(SimMatrix-np.diag(np.diag(SimMatrix)))
distVec = ssd.squareform(SimMatrix)
linkage = hcluster.linkage(distVec) #Changed here do NOT C+P back
plt.figure(figsize=(150,150))
dendro = hcluster.dendrogram(linkage, leaf_rotation=90., leaf_font_size=0.5,)
plt.savefig('plt.png', format='png', bbox_inches='tight')
plt.savefig('plt.jpg', format='jpg', bbox_inches='tight')当我打开保存的图像时,它们看起来对我来说很糟糕,只有放大才能解决问题。但是jupyter笔记本中的内联图看起来不错,所以也许你只需要稍微调整一下格式。
这可能不是最好的解决方案,但对我来说它是有效的。希望其他更有能力的人也能给你提供正确的解决方案!
附注:不要试图用520DPI保存这些文件,否则会破坏pyplot。
https://stackoverflow.com/questions/58495420
复制相似问题