好的,所以我觉得应该有一种简单的方法来使用matplotlib创建一个三维散点图.我有一个dset带有0的3D numpy数组(),我不想要一个点和1我在哪里,基本上要绘制它现在我必须逐步完成三个for:循环:
for i in range(30):
for x in range(60):
for y in range(60):
if dset[i, x, y] == 1:
ax.scatter(x, y, -i, zdir='z', c= 'red')
Run Code Online (Sandbox Code Playgroud)
有关如何更有效地完成此任务的任何建议?任何想法将不胜感激.
嗨我在服务器上有大约16个20+ gb文件,我需要从中读取特定条目,如果我有一个保存在我的计算机上的文件,我的代码正常工作,以正确的顺序读取文件
f = open('biodayk1.H2009', 'rb')
lbl = array.array('f')
bio = 0 for day in range(iday):
f.seek(nx*ny*km*bio*4, 1)
lbl.read(f, nx*ny*km) #reads the desired ibio
f.seek(nx*ny*km*(10 - bio)*4, 1) #skips the next ibios
f.close()
Run Code Online (Sandbox Code Playgroud)
现在我需要从服务器读取文件而不下载每个文件.我正在调查paramiko,并能够连接到服务器,但我不太确定如何迭代文件,只是返回我想要的.如果您需要更多信息或需要我回答任何问题,请询问.提前致谢.
我有两个numpy数组,第一个是(30,365)并且包含全年30个深度的值,第二个数组是(30,1)并且包含对应于深度的实际深度(以米为单位)第一个数组.我想绘制第一个数组,以便根据第二个数组缩放深度,但我也希望对数据进行插值(前几个深度相对靠近在一起,而较低的深度相距较远,为pcolor图像提供了块状外观.)
这就是我正在做的事情:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 365, 1)
X, Y = np.meshgrid(x, depth) #depth is the (30, 1) array
plt.pcolor(X, -Y, data) #data is the (30, 365) array
Run Code Online (Sandbox Code Playgroud)
这导致了块状外观,关于如何获得更平滑外观的任何想法?
我正在使用循环在底图上生成矢量字段:
for i in range(365):
barbs = m.quiver(x, y, u[i, :], v[i, :], scale = 100)
plt.draw()
barbs.remove()
Run Code Online (Sandbox Code Playgroud)
每个循环都会占用大量内存.有办法解决这个问题吗?比如在每个循环结束时完全删除倒钩?
我有两个具有维度(120,360)的numpy数组,其中一个数组由整数和零组成,第二个由浮点数组成.我想在第一个数组中有一个整数的地方用nans替换第二个数组的值.有一种简单有效的方法吗?
另外,我想用nans替换第一个数组中的整数,并将零更改为1.提前致谢.
所以我写了一个程序,我想传递一个文件名和一个整数或只是一个整数.什么是确定哪个参数是整数的最佳方法?这就是我所拥有的:
import sys
if len(sys.argv) > 1):
for e in sys.argv:
try:
bio = map(e, int)
except:
pass
Run Code Online (Sandbox Code Playgroud)
提前致谢