我想更新contourf函数内的绘图,效果很好。然而,数据的范围发生了变化,因此我还必须更新颜色条。这就是我未能做到的地方。
请参阅以下最小工作示例:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
# Random data
data = np.random.rand(10, 10)
# Plot data
levels = np.linspace(0., 1., 100)
plot = ax.contourf(data, levels=levels)
clist = plot.collections[:]
# Create colorbar
cbar = plt.colorbar(plot)
cbar_ticks = np.linspace(0., 1., num=6, endpoint=True)
cbar.set_ticks(cbar_ticks)
plt.show()
def update():
# Remove old plot
for c in clist:
ax.collections.remove(c)
clist.remove(c)
# Create new data and plot
new_data = 2.*np.random.rand(10, 10)
new_levels = np.linspace(0., 2., …Run Code Online (Sandbox Code Playgroud) 我有一个计算一些东西的脚本.它使用来自单独文件'inputs.py'的输入.
在'inputs.py'中只有几个变量:
A = 2.3
B = 4.5
C = 3.0
Run Code Online (Sandbox Code Playgroud)
在主文件中我导入它们
from inputs import *
Run Code Online (Sandbox Code Playgroud)
如果我现在在'inputs.py'中更改某些内容并再次执行该脚本,它仍然使用旧值而不是新值.我怎样才能重新加载文件?
reload(inputs)
Run Code Online (Sandbox Code Playgroud)
不起作用.
提前谢谢了!
我有一个形状scipy.sparse.csc_matrix稀疏的矩阵A,(N, N)其中N大约为15000。A少于1 %非零元素。
我需要Ax=b尽可能高效地解决问题。
Usingscipy.sparse.linalg.spsolve需要350 ms使用scikit-umfpack.
scipy.sparse.linalg.gmres与50 ms使用时显著更快ILU的预处理器。如果没有预处理器,则需要一分钟以上的时间。
但是,创建预处理器大约需要1.5 s. 鉴于此,仅使用scipy.sparse.linalg.spsolve.
我创建预调质M与
from scipy.sparse.linalg import LinearOperator, spilu
ilu = spilu(A)
Mx = lambda x: ilu.solve(x)
M = LinearOperator((N, N), Mx)
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点,这样使用scipy.sparse.linalg.gmres会更有利可图?
我目前正在处理一个导入 Fortran 模块的 Python 项目。在setup.py相似的外观
from numpy.distutils.core import Extension
from numpy.distutils.core import setup
ext = Extension(
name = "fortran_module",
sources = ["fortran_module.f90"],
extra_f90_compile_args = ["-some -compile -arguments"]
)
setup(
...,
...,
...,
ext_modules = [ext],
...,
...,
...
)
Run Code Online (Sandbox Code Playgroud)
我目前正在安装它pip install -e .,它工作正常。但有时我需要更改extra_f90_compile_args,我想在安装过程中将它们作为命令行参数提供,pip而不是更改setup.py文件。例如这样的事情:
pip install -e --compile_args="-O3 -fbacktrace -fbounds-check -fopenmp" .
Run Code Online (Sandbox Code Playgroud)
是否可以将命令行参数传递pip到setup.py文件中?
与此相关,我还想将不同的设置选项传递到setup.py. 例如
pip install -e --setup=setup1 .
Run Code Online (Sandbox Code Playgroud)
或者
pip install -e --setup=setup2 …Run Code Online (Sandbox Code Playgroud)