python基于Matplotlib模块的绘图1

Matplotlib模块

Matplotlib模块是python中绘图的第三方库,它模仿MATLAB中绘图,既适合交互式地进行制图,也可以作为绘图控件方便地嵌入GUI应用程序中。其中最主要的Matplotlib的pyplot子库提供了和MATLAB类似的绘图API,方便用户快速绘制2D图表,包括直方图、饼图、散点图等.
在matplotlib.pyplot中,各种状态在函数调用中保留,以便跟踪当前图形和绘图区域等内容,并且绘图函数指向当前轴(请注意“轴”在此处以及在大多数位置 文档是指图形的轴部分,而不是多个轴的严格数学术语。
首先我们来看一个简单例子。

实例介绍

在这里插入图片描述
是不是很简单,这样我们就完成了第一个图形的绘制。但看到这个我们可能会思考我们只给出一个列表,它如何绘制的二维坐标。以及x轴和y轴的范围,那是因为如果为plot()命令提供单个列表或数组,则matplotlib假定它是一系列y值,并自动为您生成x值。由于python范围以0开头,因此默认的x向量与y具有相同的长度,但从0开始。因此x数据为 [0,1,2,3]。其实plot()函数的功能有很多,这只是部分而已。

有的时候我们可能需要绘制一些函数的图像,比如三角函数,下面看个例子。
在这里插入图片描述
这样我们就绘制了一个三角函数的图像。大家是不是对plot()这个函数感到好奇,想知道它的具体用法,这个时候我们用help()看一下。我们也可以 看一下这篇博客以及这个
在这里插入图片描述

颜色设置

这里我只截取部分,你们想要知道具体,自己可以看一下。而且plot()函数可以设置颜色.如果想了解rgb颜色可以看看这篇博客,详细介绍了各种颜色用RGB三原色表示。
在这里插入图片描述
也可以这样设置颜色

在这里插入图片描述

点线格式设置

在绘图的时候,我们有的时候希望它不是直接用直线表示,而是用一种离散的点或者其他样式表示。
在这里插入图片描述
也可以将三个参数用一个字符串表示,但是个人觉得还是不推荐这么使用。
在这里插入图片描述
也可以一张图片显示多种线。
在这里插入图片描述
如果你想要看更多的点线格式,可以看看这几张图片,第三张图片是前面几个图片的中文解释。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

plt.plot()其他参数的设置

linewidth定义线的宽度,可取任意实数
alpha 透明度
drawstyle点的描绘方式
plt.grid()显示坐标网格线
plt.xlim()#设置x轴显示范围
plt.ylim()#设置y轴显示范围
plt.xlabel()设置x轴名称
plt.title()设置图像标题
plt.axhline() #绘制平行于x轴的水平参考线
plt.axvline() #绘制平行于y轴的水平参考线
plt.axhspan() #绘制垂直于y轴的参考区域
plt. axvspan() #绘制垂直于x轴的参考区域
plt.legend() #标示不同图形的文本标签图例
plt.xticks() #设置x轴的标签名称
plt.yticks() #设置y轴的标签名称
plt.text() #添加图形内容细节的无指向型注释文本
plt.annotate() #添加图形内容细节的指向型注释文本

下面我通过一些具体的让大家了解这些函数的用法和一些参数的设置。

线宽、描点方式、透明度设置

首先我们了解一下透明度,线的宽度以及点的描绘方式。drawstyles是定义描点方式,有default,steps,steps-mid,steps-post这四种。
在这里插入图片描述
alpha主要控制的是线和点的透明度,可以结合上下这两个图对比一下,就很明显了。
在这里插入图片描述

图像标题名称等设置

在python中,正常情况下是不显示中文的和负号,这个需要我们自己设置,添加下面这两条语句,就能正常显示中文和负号了。

plt.rcParams['font.sans-serif'] = ['SimHei']# 支持中文显示
plt.rcParams['axes.unicode_minus'] = False #用来显示正负符号

下面我通过一个例子,对标题名以及各坐标轴范围设置。
在这里插入图片描述

平行参考线、参考区域

这一块比较简单,我简单的举两个例子,大家看一下就行啦。
在这里插入图片描述
在这里插入图片描述
通过这些操作,我们可以将一些不能直观体现的东西,通过这些来表示出来,比如线与轴的面积等一些相关量。
到这里,基本的图形绘制差不多了,我们可以来了解一下标签以及图像上面的注释添加。
最后我通过一个例子将上面的综合一下。

x =np.linspace(0,10,5)
y1 =np.cos(x)
y2 =np.sin(x)
#plt.legend((y1,y2),('Men', 'Women'))
plt.plot(x,y1,linewidth=4,label ='正弦函数')#图例1
plt.plot(x,y2,linewidth=5,label ='余弦函数')#图例2
plt.xlim(2,6)
plt.title("放大缩小图像")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.xticks([2,3,4,5,6], ['G1', 'G2', 'G3', 'G4', 'G5'])#将x轴原为2,3,4,5,6用其他符号替代
plt.text(3,-0.5,'y =sin(x)',weight='bold',color ='r')#在线的位置显示函数名无箭头指向
plt.text(3,0.5,'y =cos(x)',weight='bold',color ='b')
plt.annotate("最小值",xy=(5,-1),xytext=(5.8,-1),arrowprops=dict(arrowstyle='->'))#有箭头指向
plt.grid()#显示网格
plt.axhspan(-0.25,0.35,facecolor ='yellow',alpha=0.3)#绘制垂直于y轴的区域
plt.axvspan(4,5,facecolor ='c',alpha=0.3)#绘制垂直于x轴的区域

绘制出的图像是这样,当你能绘制出这个图时,你对图像的一些基本绘制参数都掌握的差不多了。
在这里插入图片描述
接下来就可以了解一下每种图形的绘制,比如以下图形,大部分都是统计性图表。
plt常见的二维图形绘制命令
• plt.bar() #绘制柱状图
• plt.barh() #绘制条形图
• plt.hist() #绘制直方图
• plt.pie() #绘制饼图
• plt.polar() #绘制极线图
• plt.scatter() #绘制散点图或气泡图
• plt.stem() #绘制棉棒图
• plt.boxplot() #绘制箱线图
• plt.errorbar() #绘制误差棒图
这些图的操作,我下一篇博客将会详细介绍一下如何使用。

猜你喜欢

转载自blog.csdn.net/qq_42370313/article/details/100846877
今日推荐