python之pyplot

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之pyplot相关的知识,希望对你有一定的参考价值。

参考技术A

1、 定义x和y,画图展示,保存图片

其中dpi参数指定图像的分辨率为120
2、 优化绘图线条风格

线条颜色color

线条标记marker

线条风格linestyle

3、 坐标轴的控制
坐标轴范围和标题

坐标图上标记

坐标间隔设定
函数plt.xticks()和plt.xticks()用来实现对x轴和y轴坐标间隔(也就是轴记号)的设定。用法上,函数的输入是两个列表,第一个表示取值,第二个表示标记。当然如果你的标记就是取值本身,则第二个列表可以忽略

多图与子图
figure() 函数可以帮助我们同时处理生成多个图,而subplot()函数则用来实现,在一个大图中,出现多个小的子图。需要注意的是, figure() 中的参数为图片序号,一般是按序增加的,这里面还涉及一个当前图的概念,其中 subplot() 的参数有3个,分别为行数、列数、以及子图序号。比如 subplot(1,2,1) 表示这是一个1行,2列布局的图(两个子图,在同一行,分居左右),其中,当前处理的子图是第一个图(也就是左图)。

这样,我们就用一个脚本画了两张图fig.1和fig.2。其中,fig.1包含了分居左右的两个子图,分别是y1和y3的曲线;fig.2是一张整图,画的是y2曲线。

如果想要某个子图占据整行或者整列,可以采用下面
第三个图,实际上相当于将前面的两个小的子图看作是一个整图

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之pyplot的主要内容,如果未能解决你的问题,请参考以下文章

python数据结构之递归

python数据结构之递归

人生苦短,我用Python(目录)

博客目录

Python之循序渐进

Python全栈开发之目录