- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试绘制一些 3D 轨迹。我注意到 plot 函数表现得很奇怪。
我定义了一个名为pos
的变量,它是一个二维矩阵。它有 3 列,其中每一列代表一个坐标轴。请查看下面的完整代码-
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
max = 1.0
min = -1.0
cols = 3
goals = 4
timesteps = 20
#pos = np.zeros((timesteps, cols)) # this doesn't works hence commented
fig = plt.figure()
ax = fig.gca(projection='3d')
for i in range(goals):
pos = np.zeros((timesteps, cols)) # this works as expected
for t in range(timesteps):
pos[t] = np.random.uniform(low=min, high=max, size=cols)
ax.plot(pos[:, 0], pos[:, 1], pos[:, 2])
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()
当 pos
被全局定义时,情节不会画出任何东西。我注意到在 for
循环中定义 pos
可以解决问题。我觉得很奇怪。
下面是从全局 pos
变量生成的图(在注释 for
循环中定义的 pos
并保持全局 pos
变量已启用)-
下面是从内部 pos
变量生成的图(在注释全局 pos
变量并保持 pos
定义在 for
循环启用)-
这种行为的原因是什么?
最佳答案
替换行
ax.plot(pos[:, 0], pos[:, 1], pos[:, 2])
与
ax.plot(list(pos[:, 0]), list(pos[:, 1]), list(pos[:, 2]))
并且它将按预期为全局 pos
工作。
问题是 ax.plot(xlist, ylist, zlist)
不会立即绘制数据。它仅存储对 xlist
、ylist
和 zlist
的引用,并在 plt.show()
被调用。接下来,pos[:, 0]
、pos[:, 1]
和pos[:, 2]
不返回对应的列按值(value)。相反,它们返回一些引用原始矩阵的代理对象。
因此,实际绘图是使用最后一次迭代后矩阵中的数据执行的,并且所有绘图都重合。通过将每个 pos[:, 0]
、pos[:, 1]
和 pos[:, 2]
包装在一个 list()
我们强制复制列数据,将绘图彼此分离。
关于python - 剧情表现怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726583/
我知道如何设置条形图中条形的宽度: fig = go.Figure(data=[go.Bar(x = ['A', 'B', 'C'], y = [2, 4, 1], width=[0.5]*3)])
我想在 Plotly 后端使用 latex 。看看这个例子:即使是 x 轴和 y 轴的对数刻度也没有正确格式化!你知道怎么做吗? 最好的, 诉 using Plots, LaTeXStrings pl
我在使用 minMaxLoc 时遇到了一些麻烦,当我尝试将点作为引用传递给 max_Loc 时,我遇到了错误。环顾四周后,我发现了很多人使用 double 而不是点的例子,但这里不是这种情况。 这里是
在绘图中,如何用不同的颜色为高于阈值的所有值着色?就像上面的mean + std 或mean + 2*std 一样? 最佳答案 使用 LineCollection是正确的方法,但您也可以使用屏蔽数组在
当鼠标悬停在我的图表上时,我需要 x 轴值。根据 plotly 文档 ( https://plot.ly/javascript/hover-events/ ),悬停事件回调应该包含字段“points”
当通过 Javascript API(plotly.js,而不是 plotly-nodejs)使用任何类型的 plotly 图表时,我如何才能在图表加载后运行一些 javascript?我正在寻找 p
数据框: df2 = data.frame(value = c(9, 2, 7, 3, 6), key = c('ar', 'or', 'br', 'gt', 'ko
在下面的代码中,我有一个包含 4 列(“data”、“valor”、“nome”和“total”)的数据框。变量 'text' 将列 'nome' 设置为标签。现在我需要对“总计”列做同样的事情,我也
我是一名优秀的程序员,十分优秀!