本文介绍如何通过 for 循环重构重复性高的 `scatter3d` 多子图代码,统一设置坐标轴、颜色映射与视角参数,显著提升可读性与可维护性。
在使用 Matplotlib 绘制多视角 3D 散点图时,若为每个子图单独编写几乎相同的绘图逻辑(仅视角 view_init(elev, azim) 不同),不仅代码冗长,还容易因漏改某处参数导致不一致。最佳实践是将共性逻辑提取为循环体,差异化部分(如视角角度)以元组列表或函数生成方式传入。
以下是一个优化后的专业写法,支持任意数量的子图,并清晰分离「数据绘制」「视角配置」和「坐标系设置」三类操作:
import matplotlib.pyplot as plt
def plot_example(data_df):
"""
绘制四视角 3D 散点图:俯视(0°,90°)、侧视(45°,0°)、斜视1(35°,45°)、斜视2(20°,40°)
Parameters:
-----------
data_df : pandas.DataFrame
必须包含 'x', 'y', 'z' 列
"""
fig = plt.figure(figsize=(15, 15))
# 预定义各子图视角:(elev, azim)
view_angles = [(0, 90), (45, 0), (35, 45), (20, 40)]
for i, (elev, azim) in enumerate(view_angles, start=1):
ax =
fig.add_subplot(2, 2, i, projection='3d')
# 统一绘图
scatter = ax.scatter3D(
data_df.x, data_df.y, data_df.z,
c=data_df.z, cmap='Blues', s=20, alpha=0.8
)
# 设置视角
ax.view_init(elev=elev, azim=azim)
# 统一标签与样式
ax.set_xlabel('x', color='red', fontsize=10)
ax.set_ylabel('y', color='red', fontsize=10)
ax.set_zlabel('z', color='red', fontsize=10)
# 统一坐标范围(关键:必须对每个 ax 单独调用)
ax.set_xlim(0, 14)
ax.set_ylim(-6, 6)
ax.set_zlim(0, 8.5)
# 可选:添加共享 colorbar(增强可读性)
cbar = fig.colorbar(scatter, ax=fig.axes, shrink=0.5, aspect=20, pad=0.1)
cbar.set_label('z value', color='red', fontsize=12)
plt.tight_layout()
plt.show()✅ 关键优化点说明:
⚠️ 注意事项:
通过结构化循环与参数化配置,原始 60+ 行重复代码可压缩至 30 行以内,同时大幅提升逻辑一致性与后期维护效率。
# red
# igs
# matplotlib
# for
# 循环
# 重构
# 是一个
# 只需
# 适用于
# 可选
# 报错
# 如需
# 三类
# 差异化
# 结构化
# 后期
相关文章:
C#如何序列化对象为XML XmlSerializer用法
制作网站的公司有哪些,做一个公司网站要多少钱?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
太平洋网站制作公司,网络用语太平洋是什么意思?
油猴 教程,油猴搜脚本为什么会网页无法显示?
广州营销型建站服务商推荐:技术优势与SEO优化解析
制作门户网站的参考文献在哪,小说网站怎么建立?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站之星与建站宝盒如何选择最佳方案?
如何快速生成可下载的建站源码工具?
建站之星安装失败:服务器环境不兼容?
如何选择服务器才能高效搭建专属网站?
nginx修改上传文件大小限制的方法
如何快速搭建高效WAP手机网站?
如何规划企业建站流程的关键步骤?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
网站制作服务平台,有什么网站可以发布本地服务信息?
如何生成腾讯云建站专用兑换码?
如何在建站宝盒中设置产品搜索功能?
公众号网站制作网页,微信公众号怎么制作?
公司网站制作价格怎么算,公司办个官网需要多少钱?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
建站为何优先选择香港服务器?
如何在搬瓦工VPS快速搭建网站?
建站之星安装后如何自定义网站颜色与字体?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何访问已购建站主机并解决登录问题?
建站之星2.7模板快速切换与批量管理功能操作指南
南平网站制作公司,2025年南平市事业单位报名时间?
如何在香港免费服务器上快速搭建网站?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
建站主机是否等同于虚拟主机?
实现虚拟支付需哪些建站技术支撑?
专业商城网站制作公司有哪些,pi商城官网是哪个?
宝塔Windows建站如何避免显示默认IIS页面?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何在阿里云ECS服务器部署织梦CMS网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
公司网站设计制作厂家,怎么创建自己的一个网站?
如何用PHP快速搭建高效网站?分步指南
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
深圳网站制作培训,深圳哪些招聘网站比较好?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
*请认真填写需求信息,我们会在24小时内与您取得联系。