0
我刚开始使用python,并尝试编写我的小程序来制作简单的二维地块。我试图绘制二维矩阵(60x60)。除了包含在我的情节中的(x = 28,y = 60)的额外元素,它一切正常。2D plot with matplotlib
我在确定可能出现什么问题时遇到了一些麻烦。不幸的是,由于我对Python的了解不多,我没有真正找到任何有意义的解释。
我使用的代码是
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')
我用它绘制F(X,Y)= X * Y /(X + Y)。我得到的情节是:
请注意,我在由指针指示我的阴谋不必要的额外的元素。我操纵我的数据在剧情的右上部分产生剪辑。在X,Y,Z我使用的值可以在这里找到:
也许我做的是不是最好的解决方案。因此,我会感谢任何更好的替代解决方案。
预先感谢您 亚历克斯
哦,是的。这到底是怎么回事?谢谢,这比我想象的要简单得多。最后,最后一个问题是,我需要在每个散点图中设置每手的平方尺寸。我必须改变矩阵的尺寸,这很难通过简单的硬编码来完成。 – 2014-08-30 14:21:30