如何将3D散点图与3D曲面图结合起来,同时保持曲面图透明,以便仍可以看到所有点?将散点图与曲面图结合
9
A
回答
16
要结合不同类型的地块在同一图表中,你应该使用功能
plt.hold(真)。
下面的代码绘制一个三维曲面图三维散点图:
from mpl_toolkits.mplot3d import *
import matplotlib.pyplot as plt
import numpy as np
from random import random, seed
from matplotlib import cm
fig = plt.figure()
ax = fig.gca(projection='3d') # to work in 3d
plt.hold(True)
x_surf=np.arange(0, 1, 0.01) # generate a mesh
y_surf=np.arange(0, 1, 0.01)
x_surf, y_surf = np.meshgrid(x_surf, y_surf)
z_surf = np.sqrt(x_surf+y_surf) # ex. function, which depends on x and y
ax.plot_surface(x_surf, y_surf, z_surf, cmap=cm.hot); # plot a 3d surface plot
n = 100
seed(0) # seed let us to have a reproducible set of random numbers
x=[random() for i in range(n)] # generate n random points
y=[random() for i in range(n)]
z=[random() for i in range(n)]
ax.scatter(x, y, z); # plot a 3d scatter plot
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_zlabel('z label')
plt.show()
结果:
http://s9.postimage.org/ge0wb8kof/3d_scatter_surface_plt.gif
你可以看到3D绘图这里其他一些例子:
http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
我改变了表面情节的颜色米默认的颜色表“热”,以区分两个地块的颜色 - 现在,它看到表面图覆盖散点图,独立顺序的...
编辑:为了解决这个问题,应该在曲面图的颜色表中使用透明度;添加代码: Transparent colormap 和转产:
ax.plot_surface(x_surf, y_surf, z_surf, cmap=cm.hot); # plot a 3d surface plot
到
ax.plot_surface(x_surf, y_surf, z_surf, cmap=theCM);
我们得到:
http://s16.postimage.org/5qiqn0p5h/3d_scatter_surface_plt_transparent.gif
12
使用siluaty的例子;而不是通过cmap = theCM命令使用透明度,您可以调整alpha值。这可能会让你想要什么?
ax.plot_surface(x_surf, y_surf, z_surf, cmap=cm.hot, alpha=0.2)
+0
我想知道是否有像alpha这样的东西,你的评论很明显! – user89 2015-04-01 18:06:36
相关问题
- 1. Labview - 如何合并散点图和曲面三维图?
- 2. 曲线拟合,以散点图
- 3. 与chart.js的混合图散点图
- 4. 将散点图转换成面积图
- 5. R,ggplot2:将曲线拟合成散点图
- 6. 将极坐标直方图与极坐标散点图结合起来
- 7. 试图将黄土平滑曲线添加到散点图
- 8. r通过散点图拟合逻辑曲线
- 9. 结合彩色散点图和单独的线条图
- 10. 错误与散点图
- 11. 错误与散点图
- 12. 三维散点图与matplotlib
- 13. 如何在ggplot2中将曲线添加到散点图?
- 14. matplotlib散点图
- 15. 在散点图
- 16. matplotlib散点图
- 17. 最佳拟合散点图线
- 18. 散点图的最佳拟合线
- 19. 如何在SGPLOT的图例中结合散点和系列线?
- 20. 从MATLAB中的结构散点图
- 21. 水平条形图上的核心散点图散点图
- 22. 如何限制散点视图边界内的散点图项? - 表面SDK
- 23. 将图像与PHP结合使用GD
- 24. 线图和散点图overplot
- 25. 在seaborn分面散点图格式datetime
- 26. 在Java中将图形与用户界面结合起来
- 27. 排序的散点图与未排序的散点图有所不同
- 28. 散点图在Matlab
- 29. pcolor散点图matlab
- 30. 散点图从Matplotlib
一个解决此是(用手)在散点图分成两半的数据(平面和下面的数据的数据段),然后绘制在适当的顺序的三件事情。请参阅http://stackoverflow.com/questions/14824893/how-to-draw-diagrams-like-this/14825951#14825951 – tacaswell 2013-03-05 20:04:28
如果您需要'真正'3D渲染,请从enthought调查mayavi。 http://code.enthought.com/projects/mayavi/ – tacaswell 2013-03-05 20:05:25
@tcaswell我注意到,即使改变图的顺序,表面总是出现在顶部,这很奇怪...(zorder也不起作用)这就是我选择使用透明胶片的原因。 – 2013-03-05 20:45:00