如何使用python在三维轴中排列多个图形?
我使用了名为如何使用python在三维轴中排列多个图形?,python,Python,我使用了名为Plotly的python包,并生成了几个保存为.svg的图形 现在我想将这些.svg图形排列在一个3d轴上,如下图所示。 (在本图中,排列了7个图形。) 我详细地检查了,但他们所有的3d示例似乎都需要特定的数据输入,而不是导入图形文件 另外,我检查了matplotlib,发现Polygon plots看起来不错,但我阅读了它的源代码,发现它也没有任何参数允许我导入图形文件。我能做的唯一方法是逐像素分析无花果 from PIL import Image from mpl_toolk
Plotly
的python包,并生成了几个保存为.svg
的图形
现在我想将这些.svg
图形排列在一个3d轴上,如下图所示。
(在本图中,排列了7个图形。)
我详细地检查了
,但他们所有的3d示例似乎都需要特定的数据输入,而不是导入图形文件
另外,我检查了
matplotlib
,发现Polygon plots
看起来不错,但我阅读了它的源代码,发现它也没有任何参数允许我导入图形文件。我能做的唯一方法是逐像素分析无花果
from PIL import Image
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
name = input() # Should be iterable.
img = Image.open("path/file%s.jpg" % name) # I change the format when I saved the plots.
x = img.size[0]
z = img.size[1]
fig = plt.figure()
ax = Axes3D(fig)
for name in range(name + 1):
for i in range(x):
for j in range(z):
r = hex(img.getpixel((i, j))[0])[2:]
b = hex(img.getpixel((i, j))[1])[2:]
g = hex(img.getpixel((i, j))[2])[2:]
if len(r) == 1:
r = '0' + r
if len(b) == 1:
b = '0' + b
if len(g) == 1:
g = '0' + g
color = '#' + r + b + g
ax.scatter(i, name * 500, j, c=color) # Here 500 is because the size of my figure is 700*500.
plt.show()
通过这种方法,我可以生成三维轴上的图形,但速度非常慢,图形是反向的