当前位置:   article > 正文

TF:jupyter notebook中plt.grid设置后不显示网格以及“TypeError: ‘bool‘ object is not callable”错误_matplotlibdeprecationwarning: the 'b' parameter of

matplotlibdeprecationwarning: the 'b' parameter of grid() has been renamed

1 问题背景

在TF学习过程中,使用jupyter notebook,plt绘制序列并显示网格。但是在运行过程中,发现,代码可以正常运行,但是网格无法显示。

完整代码如下:

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. def plot_series(time, series, format="-", start=0, end=None, label=None):
  4. plt.plot(time[start:end], series[start:end], label=label)
  5. plt.xlabel("Time")
  6. plt.ylabel("Value")
  7. if label:
  8. plt.legend(fontsize=14)
  9. plt.grid=True
  10. time = np.arange(4 * 100 + 1)
  11. series = np.ones((4 * 100 + 1)
  12. plt.figure(figsize=(10,6))
  13. plot_series(time, series)
  14. plt.show()

绘制如下:

网格未显示。

查阅资料后,对plt.grid进行修改

  1. def plot_series(time, series, format="-", start=0, end=None, label=None):
  2. plt.plot(time[start:end], series[start:end], label=label)
  3. plt.xlabel("Time")
  4. plt.ylabel("Value")
  5. if label:
  6. plt.legend(fontsize=14)
  7. plt.grid(True)

或者修改为

plt.grid(b='True')

会出现如下错误:

TypeError: 'bool' object is not callable

2 参考

查阅资料,参考

plt绘图--‘str’ object is not callable 解决_南风慕雨的博客-CSDN博客icon-default.png?t=LBL2https://blog.csdn.net/weixin_43725328/article/details/107788766matplotlib.pyplot.grid — Matplotlib 3.5.1 documentationicon-default.png?t=LBL2https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.grid.html感谢南风慕雨

按照matplotlib文档的说明进行修改。

3 解决方案

重启jupyter notebook内核(很关键)

具体代码修改如下:

plt.grid(visible='True')

需要补充的是,通过如下方式也可以执行网格显示,但是会提醒:

plt.grid(b='True')
  1. C:\Users\P14s\AppData\Local\Temp/ipykernel_7624/682568141.py:7: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.
  2. plt.grid(b='True')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/669634
推荐阅读
相关标签
  

闽ICP备14008679号