小编UN4*_*UN4的帖子

在matplotlib中提高重绘轮廓图的速度

我有一个python程序,用于将文件中的数据绘制为该文本文件中每一行的轮廓图。目前,我的界面中有3个独立的轮廓图。不管是从文件中读取数据还是在执行脚本之前将其加载到内存中,我只能从轮廓图获得〜6fps。

我还尝试仅使用一个轮廓线和其余法线图,但是速度仅增加到7fps。我不认为画几条线在计算上很费力。有没有办法使它大大加快?理想情况下,至少要达到30fps才是好事。

我绘制轮廓的方法是,对于数据的每一行,我都删除了前一条:

for coll in my_contour[0].collections:
    coll.remove()
Run Code Online (Sandbox Code Playgroud)

并添加一个新的

my_contour[0] = ax[0].contour(x, y, my_func, [0])
Run Code Online (Sandbox Code Playgroud)

在代码的开头,我必须plt.ion()在添加绘图时对其进行更新。

任何帮助,将不胜感激。

谢谢

python plot matplotlib contour

4
推荐指数
1
解决办法
1446
查看次数

使用 Abaqus nogui python 接口打印到终端

运行 abaqus nogui python 脚本时,我想将脚本的状态输出到终端。但是当我这样做时,例如:

print("Opening ODB...")
print("Plotting images...")
Run Code Online (Sandbox Code Playgroud)

我也试过:

print "Opening ODB..."
print "Plotting images..."
Run Code Online (Sandbox Code Playgroud)

sys.stdout.write("Opening ODB...")
sys.stderr.write("Plotting images...")
Run Code Online (Sandbox Code Playgroud)

没有任何东西输出到终端。尽管如此,我的代码运行良好,并完成了它应该做的一切。

有没有人有任何想法如何解决这个问题?

python terminal output abaqus

3
推荐指数
1
解决办法
3121
查看次数

最小二乘法适合在3d表面的python

我想将我的表面方程拟合到一些数据中.我已经尝试过scipy.optimize.leastsq,但因为我无法指定边界,所以它给了我一个无法使用的结果.我也试过scipy.optimize.least_squares,但它给了我一个错误:

ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)

我的等式是:

f(x,y,z)=(x-A+y-B)/2+sqrt(((x-A-y+B)/2)^2+C*z^2)
Run Code Online (Sandbox Code Playgroud)

应找到参数A,B,C,以便当以下点用于x,y,z时,上面的等式尽可能接近零:

    [
   [-0.071, -0.85, 0.401],
   [-0.138, -1.111, 0.494],
   [-0.317, -0.317, -0.317],
   [-0.351, -2.048, 0.848]
   ]
Run Code Online (Sandbox Code Playgroud)

边界将是A> 0,B> 0,C> 1

我应该如何获得这样的合适?python中最好的工具是什么?我搜索了如何拟合3d表面的示例,但大多数涉及函数拟合的示例都是关于线或平面拟合.

python least-squares data-fitting

2
推荐指数
1
解决办法
2660
查看次数