Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python:Pickle.load函数返回正确的三维散点图,但不再是交互式的_Python 3.x_Matplotlib_Plot_Pickle_Scatter3d - Fatal编程技术网

Python 3.x Python:Pickle.load函数返回正确的三维散点图,但不再是交互式的

Python 3.x Python:Pickle.load函数返回正确的三维散点图,但不再是交互式的,python-3.x,matplotlib,plot,pickle,scatter3d,Python 3.x,Matplotlib,Plot,Pickle,Scatter3d,这是我在这里的第一个问题,所以请让我知道我是否应该在问题的表述、代码等方面做出任何改进 因此,我正在用Python创建几个三维散点图,并希望为以后的重用和可比性保护它们。我在Spyder中使用Qt5作为图形后端,它完美地显示了使用原始代码的交互式(因此我可以在轴上旋转并翻转绘图)三维散点图。 现在,我能够成功保存创建的绘图,并将其加载到新脚本中,该脚本也会在Qt5中打开绘图但不知何故,互动性消失了,这意味着我无法在轴上旋转并翻转绘图。 我找不到任何关于这个问题的指导,也找不到任何有类似问题的人。

这是我在这里的第一个问题,所以请让我知道我是否应该在问题的表述、代码等方面做出任何改进

因此,我正在用Python创建几个三维散点图,并希望为以后的重用和可比性保护它们。我在Spyder中使用Qt5作为图形后端,它完美地显示了使用原始代码的交互式(因此我可以在轴上旋转并翻转绘图)三维散点图。 现在,我能够成功保存创建的绘图,并将其加载到新脚本中,该脚本也会在Qt5中打开绘图但不知何故,互动性消失了,这意味着我无法在轴上旋转并翻转绘图。

我找不到任何关于这个问题的指导,也找不到任何有类似问题的人。你们知道吗?我将把示例代码的相关部分放在下面:

“第一个脚本”

“第二个脚本”

你知道为什么互动性消失了吗?根据pickle库和其他用例,这不会发生


非常感谢。

这能回答您的问题吗@乔:不,没有。同样的(未回答的)问题。相应的功能请求是无效的,但不幸的是,它没有。我从那篇文章中得到了pickle功能等等。然而,正如所描述的,我并没有以一个交互式图形用户界面结束,而只是以一个没有交互的三维散点图的“图片”结束……我尝试了,也没有成功。也许我的第一个评论不清楚。你不需要继续尝试。目前这是不可能的。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import pandas as pd
import pickle

testdf = pd.DataFrame({"X" : x, "Y" : y, "Z" : z}) #x and y are the criteria, z the values, stored as lists

# Create 3d scatter plot
fig = plt.figure(figsize=(12, 12))
ax = fig.add_subplot(111, projection="3d")

ax.scatter(x, y, z, c=z, marker="o")
ax.set_xlabel("Initial Notional Cluster")
ax.set_ylabel("Laufzeit in Month Cluster")
ax.set_zlabel("Vol. Weighted Margin")
plt.show()

# Save the figure object as binary file
file = open(r"Init_Lfz_VolWeightedMargin.pkl", "wb")
pickle.dump(fig, file)
file.close()
import matplotlib.pyplot as plt

figx = pickle.load(open(r"Init_Lfz_VolWeightedMargin.pkl", "rb"))
plt.show()