- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我从 Animation based on only updating colours in a plot 复制了这段代码并做了一些细微的调整。我有一个情节,想更改每帧单行的颜色。代码如下所示:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.collections import LineCollection
import matplotlib.animation as animation
lines=[]
points=[(1,2),(5,4),(1,3),(2,1),(3,5)]
for i in range(len(points)-1):
lines.append([points[i],points[i+1]])
fig, ax = plt.subplots()
colors = np.array([0.1,0.1,0.1,0.9])
col = LineCollection(lines, array=colors, cmap=plt.cm.bwr)
ax.add_collection(col)
ax.autoscale()
print(colors)
def update(i):
colors[i%4]=np.random.random()
col.set_array(colors)
return col,
ani = animation.FuncAnimation(fig, update, interval=2000, blit=True,
init_func=lambda: [col])
plt.show()
虽然如果我这样保留它确实有效,但我最初希望所有线条都具有相同的颜色。当我将初始颜色更改为
colors = np.array([0.9,0.9,0.9,0.9])
而不是
colors = np.array([0.1,0.1,0.1,0.9])
绘图停止更新并始终保持一种颜色。如果我只更改颜色数组中的一个数字,它就可以工作。为什么会这样?我应该改变什么才能让它工作?
最佳答案
您需要告诉 LineCollection 应将哪个值范围映射到颜色图的颜色。如果您使用所有相同的数字作为初始数组,集合甚至无法猜测该范围,而如果您在开始时采用不同的值,它将使用这些值的最小值和最大值。
无论哪种情况,实际上最好明确地定义该范围。例如,要映射范围 [0,1]
,请使用 norm=plt.Normalize(0,1)
。
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.collections import LineCollection
import matplotlib.animation as animation
lines=[]
points=[(1,2),(5,4),(1,3),(2,1),(3,5)]
for i in range(len(points)-1):
lines.append([points[i],points[i+1]])
fig, ax = plt.subplots()
colors = np.array([0.1,0.1,0.1,0.1])
col = LineCollection(lines, array=colors, cmap=plt.cm.bwr, norm=plt.Normalize(0,1))
ax.add_collection(col)
ax.autoscale()
print(colors)
def update(i):
colors[i%4]=np.random.random()
col.set_array(colors)
return col,
ani = animation.FuncAnimation(fig, update, interval=20, blit=True,
init_func=lambda: [col])
plt.show()
关于python - Pyplot 一一改变颜色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701708/
我想为我指定的每个类别 ID 检索最新帖子的 mongo 选择器。 这是 forumTopics 集合中对象的示例: { _id: ..., createdTime: [unix ep
我正在尝试一个接一个地运行两个ajax 请求。所以,我可以使用 ajax success() 函数: $.ajax({ ... success: function() {
这是我的 Codepen 链接:resizable event 我正在使用可调整大小的 Jquery UI,一切正常,但现在我希望每个 block 上的可调整大小事件只能一个接一个地激活,如果单击另一
我在 Kotlin 上使用 MongoDB 和 Spring,我希望我的应用程序在启动时填充 MongoDB 集合。 (并在每次启动时清洁它) 我的问题是,如果我正在填充的某些数据有问题,我该如何一一
我有一些元素的列表,我想要一个接一个的 fadeIn 元素,意味着如果第一个元素完成 fadeIn 然后下一个元素 fadeIn 等等,在我给定的代码中我不知道出了什么问题,请帮助我.. HTML A
正如很多地方所说,对于大小为 10000 的输入数据,批量预测整个数据比逐行预测要快得多(在这两种情况下,model.n_jobs=1)。 我知道一对一的解决方案有很多开销。但是在在线服务中,请求是一
我在使用 5 个 div 元素使其响应时遇到了问题。 我有这样的 div 元素: Here Image 1 Here Image 2 Here
我是一名优秀的程序员,十分优秀!