栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

结合散点图和表面图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

结合散点图和表面图

要在同一张图中组合各种类型的图,您应该使用函数

plt.hold(True)。

以下代码绘制了带有3D表面图的3D散点图:

from mpl_toolkits.mplot3d import *import matplotlib.pyplot as pltimport numpy as npfrom random import random, seedfrom matplotlib import cmfig = plt.figure()ax = fig.gca(projection='3d')    # to work in 3dplt.hold(True)x_surf=np.arange(0, 1, 0.01)     # generate a meshy_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 yax.plot_surface(x_surf, y_surf, z_surf, cmap=cm.hot);    # plot a 3d surface plotn = 100seed(0)    # seed let us to have a reproducible set of random numbersx=[random() for i in range(n)]   # generate n random pointsy=[random() for i in range(n)]z=[random() for i in range(n)]ax.scatter(x, y, z);  # plot a 3d scatter plotax.set_xlabel('x label')ax.set_ylabel('y label')ax.set_zlabel('z label')plt.show()

结果:

您可以在此处看到其他一些带有3d图的示例:http
//matplotlib.org/mpl_toolkits/mplot3d/tutorial.html

为了将两个图的颜色区分开,我将表面图的颜色从默认值更改为“热”色图- 现在,可以看出表面图覆盖了散点图,而与顺序无关

编辑: 要解决该问题,应在表面图的颜色图中使用透明度;在以下位置添加代码:透明的颜色图 并更改线:

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);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号