我正在为水位表模型设置一些边界条件,我能够将整个第一行设置为常量值,而不是整个第一列.我np.zeros((11, 1001))用来做一个空矩阵.有谁知道为什么我成功定义第一行,但不是第一列?我已经注意到下面的问题.
import numpy as np
x = range(0, 110, 10)
time = range(0, 5005, 5)
xSize = len(x)
timeSize = len(time)
dx = 10
dt = 5
Sy = 0.1
k = 0.002
head = np.zeros((11, 1001))
head[0:][0] = 16 # sets the first row to 16
head[0][0:] = 16 # DOESN'T set the first column to 16
for t in time:
for i in x[1:len(x)-1]:
head[t+1][i] = head[t][i] + ((dt*k)/(2*Sy)) * (((head[t][i-1]**2) - (2*head[t][i]**2) + (head[t][i+1]**2)) …Run Code Online (Sandbox Code Playgroud) 我正在这里的arrow_simple_demo.py 工作,我已经将其修改为:
import matplotlib.pyplot as plt
ax = plt.axes()
ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1)
Run Code Online (Sandbox Code Playgroud)
但是,我想使用 kwarg 将箭头的线条样式更改为虚线。箭头文档表明这是可能的。箭头文档
所以我尝试给 arrow 导入 **kwargs 参数:
kwargs = {linestyle:'--'}
Run Code Online (Sandbox Code Playgroud)
现在我的代码如下所示:
import matplotlib.pyplot as plt
ax = plt.axes()
kwargs={linestyle:'--'}
ax.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, **kwargs)
Run Code Online (Sandbox Code Playgroud)
但结果是:
NameError: name 'linestyle' is not defined
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以告诉我是否正确使用了 kwargs,以及我是否需要从 matplotlib 的 patch 类导入 Patch 才能完成这项工作。Patchkwargs 列表上方的箭头文档中的“其他有效 kwargs(继承自 :class: )”声明让我认为这可能是必要的。我也一直在查看补丁文档来解决这个问题。这里
编辑:
当我将 linestyle key 作为字符串传递时,代码完成,但我没有得到我所希望的虚箭头线。
import matplotlib.pyplot as plt
ax = plt.axes()
kwargs={'linestyle':'--'} …Run Code Online (Sandbox Code Playgroud)