방금 파이썬을 사용하기 시작했고 간단한 2 차원 플롯을 만들기 위해 작은 프로그램을 작성했습니다. 2D 행렬 (60x60)을 그려 넣으려고합니다. 내 플롯에 포함 된 추가 요소 (x = 28, y = 60)를 제외하고는 모두 잘 작동합니다.matplotlib을 사용한 2D 플롯
나는 무엇이 잘못되었을지를 파악하는 데 약간의 어려움이있었습니다. 불행히도 파이썬에 대한 겸손한 지식으로 인해 저는 의미있는 설명을 찾지 못했습니다.
I가 사용하고있는 코드가 I (X, Y) = X *에의 Y/(X + Y F) 플롯을 이용
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from subprocess import call
from math import pi
import sys
x = []
y = []
z = []
if len(sys.argv) > 1:
fname = sys.argv[1]
else:
fname = 'data.txt'
print 'reading data from {}'.format(fname)
print 'This is the correct verssion trimming the blanks'
for l in open(fname, 'r'):
try:
xx, yy, zz = map(float, l.split())
if zz > 0. :
x.append(int(xx))
y.append(int(yy))
z.append(zz)
except ValueError:
pass
plt.scatter(x, y, c=z ,s=35, marker='s',cmap=mpl.cm.spectral,linewidths=0)
plt.clim(0,max(z))
cbar=plt.colorbar()
cbar.ax.set_visible(False)
s=18
plt.xlim([min(x)-3,max(x)+3])
plt.ylim([min(y)-3,max(y)+3])
plt.axis('off')
finalname = fname + '.png'
pdfname = fname + '.png'
plt.savefig(pdfname,dpi=100,bbox_inches='tight')
이다. 내가 가진 줄거리는 다음과 같습니다 내가 포인터로 표시 내 음모에 원치 않는 추가 요소가
참고. 나는 음모의 오른쪽 상단 부분에 상처를 만들기 위해 내 데이터를 조작. 내가 사용하는 X, Y, Z 값은 여기에서 찾을 수 있습니다 :
은 아마도 내가 무엇을하고 있는가하는 것이 최선의 해결책이 아닙니다. 따라서 나는 더 나은 대체 솔루션을 주셔서 감사하겠습니다.
는 알렉스
오에있는 점을 일으키는 것입니다. 어떻게 끝났는가 ... 고마워, 생각했던 것보다 훨씬 간단 해. 그리고 마침내 마지막 질문 하나는 필자의 분산 형 플롯에서 정사각형 크기를 손으로 설정하는 것입니다. 행렬 차원을 변경하면서 변경해야합니다. 단순히 하드 코딩 만하면 매우 불편합니다. –