python数据可视化之matplotlib.pyplot绘图时图片显示不全的解决方法(图文并茂版!!!)

Posted 温柔且上进c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据可视化之matplotlib.pyplot绘图时图片显示不全的解决方法(图文并茂版!!!)相关的知识,希望对你有一定的参考价值。

问题分析

       •有时在我们使用matplotlib.pyplot绘制可视化图像时会出现图像显示不全,如下图所示:
在这里插入图片描述
       •上图中,绘制散点图后,图像出现上边,下边,左边显示不完全的情况

问题分析

       •在最新版的matplotlib中,子图所距上、下、左、右边界的参数默认为1.0
       •但是当电脑分辨率过低时,默认值1.0会导致绘图窗口不足,使得上、下、左边的部分被剪切

问题解决

       •解决方法:使用subplots_adjust()方法修改默认的参数值,使图像显示完全

plt.gcf().subplots_adjust(left=None,top=None,bottom=None, right=None, top=None)

方法解释

       •left, right, bottom, top:子图所距区域的边界的参数值,是一个数值型参数,当值大于1.0的时候子图会超出边界从而显示不全;值不大于1.0的时候,子图会自动分布在一个矩形区域显示图像,但不是绝对的可以显示完全,可能需要我们自定义设置不大于1.0的参数值
       •注意一定要保证left的值小于right的值, bottom 的值小于 top的值,否则一定会报错!!!

上述报错解决代码

       •回到我们最初的问题上,图像出现上边,下边,左边显示不完全的情况,可在装饰图像中添加如下代码解决:

plt.gcf().subplots_adjust(left=0.05,top=0.91,bottom=0.09) 

       •修改left,top,bottom的参数值,使之不大于1.0
       •出现很少部分不图像能显示时,可使参数值小只有小,只有出现很大一部分图像不能显示时,参数值才会靠近1.0

参考代码:

# 装饰图像
gridobj.set(xlim=(0.5,7.5),ylim=(0,50))  # 横纵坐标范围
plt.rcParams['font.sans-serif']=['Simhei'] # 设置字体为黑体
plt.xlabel('发动机排量(l)',fontsize=20)
plt.ylabel('公里路程/加仑',fontsize=20)
plt.xticks(fontsize=16)
plt.gcf().subplots_adjust(left=0.05,top=0.91,bottom=0.09)  # 在此添加修改参数的代码
plt.legend(['气缸数:4','气缸数:8'],fontsize=22)
plt.title('Scatterplot with line of best fit grouped by number of cylinders',fontsize=20)
plt.show()

图像显示:
在这里插入图片描述
       •添加上述方法后,图像完全显示,即为解决matplotlib.pyplot绘图时图片显示不全的问题!!!

以上是关于python数据可视化之matplotlib.pyplot绘图时图片显示不全的解决方法(图文并茂版!!!)的主要内容,如果未能解决你的问题,请参考以下文章

python matplotlib-fonts.py

python ipython_matplotlib_img.py

Python 数据可视化之-[Matplotlib]

Python 数据可视化之-[Matplotlib]

谈谈Python实战数据可视化之matplotlib模块(实战篇)

Python数据可视化之matplotlib