You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用matplotlib的tick_params导致点云数据读取被舍入的问题

matplotlib与open3d/numpy的意外交互:tick_params()影响点云数据打印精度

执行以下代码时,调用plt.tick_params(axis='both', labelsize=1)会导致后续读取的点云数据打印时被舍入为整数:

import matplotlib.pyplot as plt
import numpy as np
import open3d as o3d

# 问题代码行
plt.tick_params(axis='both', labelsize=1) 

# 读取点云
pcd = o3d.io.read_point_cloud("../pointcloud_820_1880.pcd")
points = np.asarray(pcd.points)
print(points)

此时输出的点云数据为舍入后的整数形式:

[[ 829. 1899.  101.]
 [ 835. 1899.  112.]
 [ 831. 1899.   92.]
 ...
 [ 821. 1899.   77.]
 [ 821. 1899.   77.]
 [ 821. 1899.   77.]]

但注释掉该行后,输出的是点云文件实际包含的带小数的精确数据:

[[ 829.88127 1899.80715  101.29749]
 [ 835.85224 1899.55968  112.49222]
 [ 831.75095 1899.8053    92.93788]
 ...
 [ 821.95337 1899.16928   77.34216]
 [ 821.96948 1899.16988   77.6308 ]
 [ 821.97324 1899.17001   77.72527]]

请问这两者为何会产生干扰?

注:已在matplotlib官方仓库提交相关issue。


内容的提问来源于stack exchange,提问作者cmosig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:10:30