python - 在 Python 中使用 Matplotlib 实现多个同步动画
问题描述
在 Python 2.7 中(我知道它已经被弃用了!),我试图在一个表面上为多个轨迹设置动画。我在以下代码的最后一行遇到问题:
from numpy import genfromtxt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
from matplotlib.animation import FuncAnimation
import numpy as np
import mpl_toolkits.mplot3d.axes3d as p3
from matplotlib import animation
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-10, 10, 0.25)
Y = np.arange(-10, 10, 0.25)
X, Y = np.meshgrid(X, Y)
Z = 0.1*X**3-0.3*X*(Y**2)
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm,
linewidth=0, antialiased=False)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
def update(num, data, line, point):
line.set_data(data[:2, :num])
line.set_3d_properties(data[2, :num])
if num < len(data[0]):
point.set_data([data[0][num], data[1][num]])
point.set_3d_properties(data[2][num])
def load_data(csv_file, color):
my_data = genfromtxt(csv_file, delimiter=',')
x = my_data[:, 0]
y = my_data[:, 1]
z = my_data[:, 2]
N = 1000
data = np.array([x, y, z])
line, = ax.plot(x, y, z)
point, = ax.plot([0], [0], [0], color)
ani = animation.FuncAnimation(fig, update, N, fargs=(
data, line, point), interval=1000/N, blit=False)
plt.show()
load_data('gd.csv', 'ro')
# following data does not show :
# load_data('rmsprop_momentum.csv', 'go')
虽然gd.csv
动画中的数据正确,但rmsprop_momentum.csv
并没有显示在表面上。
这里可能是什么问题?提前谢谢了!
解决方案
推荐阅读
- java - GroovyRuntimeException:无法读取只写属性
- biginteger - perl6:无法将 65536 位宽的 bigint 拆箱为本机整数
- msbuild - 在远程 Windows 服务器计算机上添加注册表项不起作用
- react-native - 从 react-native 创建 Android 和 iOS 应用
- java - javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:在 android 6 及更高版本中
- python - 如何让我使用 discord.py bot 登录的帐户加入特定服务器
- amazon-dynamodb - DynamoDB,如何使用 BEGINS_WITH 查询
- python - Python:具有多个根树子节点的大型 XML 解析
- android - 我无法使用 Mockito 测试 SharedPreference
- java - gradle 测试任务在扩展 TestCase 但没有测试方法的 Test Util 类上失败