Python学习笔记

Posted 阿远ay

tags:

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


一、matplotlib库的简介

二、pyplot模块的使用

import matplotlib.pyplot as plt
import matplotlib
import numpy as np
matplotlib.rcParams['font.family']='SimHei' #设置中文字体为黑体
matplotlib.rcParams['axes.unicode_minus']=False #设置负号显示正常
x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y,"r")
f1 = plt.figure(1)
plt.title("我是图标题")
plt.xlabel("我是x轴标签")
plt.ylabel("我是y轴标签")
plt.text(np.pi,0.6,"我是图文字")
plt.ylim(-2,2)
plt.legend(labels=["我是图例"])
plt.show()

二、pyplot.plot()绘图函数的使用

注:颜色符号也可用RGB颜色,如:#00FF11


三、pyplot库坐标轴及标签等其他属性设置

①axis()函数

axis()函数是获取或设置坐标轴属性的快捷方法。axis()函数在使用时,可以通过传递参数设置x,y轴的取值区间,也可以通过传递参数设置坐标轴是否显示、x.y轴是否按比例显示等。调用该函数会返回一个由x轴取值区间边界值xmin、xmax和y轴取值区间边界值ymin、ymax组成的元组。

一般axis()函数的使用方法有如下几种:

xmin,xmax,ymin,ymax=axis() #返回当前坐标轴的区间信息
axis(xmin,xmax,ymin,ymax) #设置新的坐标轴的区间信息
xmin,xmax,ymin,ymax=axis(opition) #设置坐标轴的状态等信息

描述
‘on’坐标轴和标签可见
‘off’坐标轴和标签不可见
‘equal’通过更改轴的取值区间来设置相等的缩放比例
‘scaled’通过更改绘图框的尺寸来设置相等的缩放比例
‘tight’设置足够大的区间以显示所有数据
‘auto’自动缩放
‘normal’与‘auto’相同,已弃用
‘image’坐标轴的取值范围根据数据范围进行缩放
‘square’方形图,类似于’scaled’,但强制要求xmax-xmin = ymax-ymin

②xlim()函数

xlim()函数用于设置或者返回x轴的取值区间。xlim()函数可以通过传递参数,设置x轴的取值区间;也可以直接调用函数,返回当前x轴的取值区间。

xlim()函数的使用方法有如下几种:

xmin,xmax=xlim() #返回当前x轴的取值区间,返回由x轴区间值构成的元组类型
xlim(xmin,xmax) #设置x轴的取值区间

③ylim()函数

ylim()函数用于设置y轴的取值区间,使用方法和xlim()函数一致。

④xticks()函数

xticks()函数用于设置或返回x轴的刻度值或标签。xtick()函数可以通过传递参数,设置x轴的刻度值;也可以直接调用函数,返回当前x轴的刻度值。

xticks()函数的使用方法有如下几种:

x_ticks,labels=xticks() #返回当前x轴的刻度值和刻度标签
xticks(ticks,[labels]) #设置x轴的刻度值和刻度标签,标签可以省略

⑤yticks()函数

yticks()函数用于设置y轴的刻度值或标签。使用方法与xticks()函数一致。

⑥xlabel()函数

xlabel()函数用于设置x轴的标签。xlabel()函数通过传递参数,设置x轴的标签以及标签的属性。

xlabel()函数的使用方法如下所示:

xlabel(label) #把x轴的标签设置为label

⑦ylabel()函数

ylabel()函数用于设置y轴的标签。其使用方法与xlabel()函数类似。

⑧legend()函数

legend()函数可以通过传递参数,涉案值当前绘图区的图例。

legend()函数的使用方法如下所示:

legend([图例1[,图例2,图例3]) #在绘图区适当的位置显示一个或若干个图例

⑨text()函数

text()函数通过传递参数可以在指定的坐标位置显示相应的文本。

text()函数的使用方法如下所示:

text(x,y,s) #在坐标系的(x,y)坐标点,显示文本s

⑩title()函数

title()函数通过传递参数设置当前绘图区的标题及显示的位置,位置参数可以是center、left、right,默认参数是center。

title()函数的使用方法如下所示:

title(s,loc=‘center’) #为绘图区添加标题s,默认居中显示

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
y1=x ; y2=2*x; y3=3*x
plt.plot(x,y1,"ro--",x,y2,"gv:",x,y3,"bs-")
plt.axis('scaled') # 设置x轴y轴按实际比例显示
plt.xlim(0,10) # 设置x轴的区间
plt.ylim(0,30) # 设置y轴的区间
plt.xticks([0,1,2,3,4,5,6,7,8,9,10])
plt.yticks([5,10,15,20,25,30],['a','b','c','d','e','f']) # 'a'与5对应,'b'与[10]对应
y_ticks,labels=plt.yticks() # 返回y轴的标签刻度值和对应标签
plt.xlabel("x-axis") # 设置x轴标签
plt.ylabel("y-axis") # 设置y轴标签
plt.legend(["y1=x","y2=2x","y3=3x"]) # 添加图例
plt.text(4,2,"TEXT") # TEXT可以换成你想要显示的文本
plt.title("TITLE") # TITLE可以换成你想要显示的文本
plt.show()


四、pyplot模块中的绘图函数示例

①bar()函数

bar(x,height)函数:绘制横向条形图。
x:x轴对应的值:
height:与x对应的高度值。

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(7)
height=[3, 4, 7, 6, 2, 8, 9]
plt.bar(x,height)
plt.show()

②scatter()函数

scatter(x,y)函数:绘制散点图。
x:x轴对应的值;
y:与x对应的y的值。

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(7)
y=[3, 4, 7, 6, 2, 8, 9]
plt.scatter(x,y)
plt.show()

③pie()函数

pie(x,explode=None,labels=None,autopct=None,shadow=False)函数:绘制饼图,饼块逆时针摆放。
x:需要绘制饼图的数据集;
explode:设置饼块分离,默认为空(即饼块不分离),如果不为空,非零值将分离;
labels:设置饼块对应标签,默认为空;
autopct:设置饼块显示占比值,默认为空;
shadow:设置饼图是否有阴影,即立体效果,默认为False(即饼图是一个平面)。

import matplotlib.pyplot as plt
Labels = 'Class-A','Class-B','Class-C','Class-D'
data = [15,30,45,10]
Explode = (0,0.1,0,0)
plt.pie(data,explode=Explode,labels=Labels,autopct='%.2ff%%')
plt.show()


五、子图绘制–subplot()函数

subplot()函数的前两个参数相当于把绘图区域分隔成nrows行、ncols列,共nrows行 X ncols个子区域;第三个参数index指定了当前的子区域索引号。子区域索引号按照行优先顺序,从1开始编号,步长为1,依次递增。

import matplotlib.pyplot as plt
plt.subplot(3,2,4) #3行2列共6个区域 将4号区域指定为当前绘图子区域

import matplotlib.pyplot as plt
plt.subplot(2,2,1)
plt.bar(range(7), [3, 4, 7, 6, 2, 8, 9])
plt.subplot(2,2,2)
plt.plot(range(7), [3, 4, 7, 6, 2, 8, 9])
plt.subplot(2,2,3)
plt.scatter(range(7), [3, 4, 7, 6, 2, 8, 9])
plt.subplot(2,2,4)
plt.barh(range(7), [3, 4, 7, 6, 2, 8, 9])
plt.show()


六、matplotlib库的中文显示问题

import matplotlib.pyplot as plt
plt.plot([1,2,4], [1,2,3])
plt.title("坐标系标题")
plt.xlabel('时间(s)')
plt.ylabel('范围(m)')
plt.show()

方法1

import matplotlib
matplotlib.rcParams[‘font.family’]=字体常量标识符 (一次性设置)

常见中文字体标示符常量及对应字体说明:

标示符描述
‘Simhei’黑体
‘Kaiti’楷体
‘Microsoft YaHei’微软雅黑
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='Kaiti' #楷体
plt.plot([1,2,4], [1,2,3])
plt.title("坐标系标题")
plt.xlabel('时间(s)')
plt.ylabel('范围(m)')
plt.show()

方法2

在绘图函数中传递一个中文字体给参数fontproperties。(有针对性的设置某一个元素的中文显示)

import matplotlib.pyplot as plt
plt.plot([1,2,4], [1,2,3])
plt.title("坐标系标题",fontproperties="Simhei") #黑体
plt.xlabel('时间(s)',fontproperties="Kaiti") #楷体
plt.ylabel('范围(m)',fontproperties="Microsoft YaHei") #微软雅黑
plt.show()

以上是关于Python学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记Python基础教程学习笔记

[Python笔记]Python学习笔记四

安全牛学习笔记python学习笔记

Python学习笔记

转载 《Python爬虫学习系列教程》学习笔记

python学习笔记