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 일 수 있습니다.
아래 이미지를 그림으로 얻었습니다.
문제는 해상도가 아니라 이미지의 크기 (또는 선의 크기)입니다. dendogram 플롯에서 선폭을 변경하는 방법을 모르기 때문에 간단한 솔루션으로 거대한 이미지를 만들 것입니다.
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 노트북의 인라인 플롯이 좋아 보였으므로 형식을 조금만 사용하면 될 수도 있습니다.
이것은 아마도 최선의 해결책은 아니지만 저에게는 효과적이었습니다. 더 유능한 누군가가 올바른 해결책을 줄 수 있기를 바랍니다!
추신 : 520 DPI로 저장하지 마십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다