【ROS学习】ROS-kinetic 中运行 rqt_plot 的报错:numpy.linalg.LinAlgError: Singular matrix

一、问题描述

自己在调试 ROS 程序的时候,运行 rqt_plot 报错:

/usr/lib/python2.7/dist-packages/matplotlib/axis.py:1015: UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding needed.
  warnings.warn("Unable to find pixel distance along axis "
/usr/lib/python2.7/dist-packages/matplotlib/axis.py:1025: UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding needed.
  warnings.warn("Unable to find pixel distance along axis "
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 107, in resizeEvent
    self.figure.tight_layout()
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1754, in tight_layout
    rect=rect)
  File "/usr/lib/python2.7/dist-packages/matplotlib/tight_layout.py", line 349, in get_tight_layout_figure
    pad=pad, h_pad=h_pad, w_pad=w_pad)
  File "/usr/lib/python2.7/dist-packages/matplotlib/tight_layout.py", line 128, in auto_adjust_subplotpars
    fig.transFigure.inverted())
  File "/usr/lib/python2.7/dist-packages/matplotlib/transforms.py", line 1775, in inverted
    self._inverted = Affine2D(inv(mtx), shorthand_name=shorthand_name)
  File "/usr/local/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 551, in inv
    ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)
  File "/usr/local/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 97, in _raise_linalgerror_singular
    raise LinAlgError("Singular matrix")
numpy.linalg.LinAlgError: Singular matrix

在这里插入图片描述

二、解决方法

方法一:暂时解决问题

在终端先运行

rqt

会弹出一个空白的界面:
在这里插入图片描述
然后在桌面的最上端,选择
Plugins->Visualization->Plot
在这里插入图片描述

然后就可以显示 rqt_plot 界面了~~~~
在这里插入图片描述

方法二:永久解决问题

在Matplotlib官网可以发现,kinetic中的python2.7和Matplotlib是不兼容的,并且不再支持Python2。
所以我们可以安装 另一个可视化工具,PyQtGraph。
运行如下指令:

pip install pyqtgraph

或者官网下载安装包安装。
在这里插入图片描述
然后再次运行

rqt_plot

就可以愉快地使用 rqt_plot 啦~~~~~~~~

参考链接:
[1] ROS入门笔记(五):ROS中运行rqt_plot的问题(kinetic) https://www.cnblogs.com/IT-cute/p/13122280.html
[2] ROS入门:rqt_plot出现错误:UserWarning: Unable to find pixel distance along axis for interval padding of tic-- https://blog.csdn.net/qinqinxiansheng/article/details/106736892

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值