




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章利用Matplotlib进行数据可视化5-1绘图设置与简单绘图Python中matplotlib库是受MATLAB的启发构建的,MATLAB是数据绘图领域广泛使用的语言和工具。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中,这套函数接口方便MATLAB用户过度到matplotlib包。第5章
知识图谱在绘制各种图形之前,一般需要设置绘图的各种参数,这是绘图的基础。每一幅图的绘制都涉及不少参数,虽然这些参数大多都有默认值,但是也有一些参数必须手动设置,才能更好辅助绘制图形。1.导入绘图库绘制图形之前,一般需要导入matplotlib库中的pyplot模块,其一般方法为:importmatplotlib.pyplotasplt一、绘图设置2.创建与显示绘图窗口创建画布的主要作用是构建出一张空白的绘图窗口(figure),其一般方法为:plt.figure(figsize=(len,wid))其中,len表示绘图窗口的长度,wid表示绘图窗口的宽度。创建的绘图窗口只有显示以后,才能看到,显示绘图窗口的一般方法为:plt.show()一、绘图设置2.创建与显示绘图窗口一、绘图设置示例代码如下:importmatplotlib.pyplotaspltplt.figure(figsize=(6,4))#创建一个6*4的空白绘图窗口plt.show()#显示绘图窗口2.创建与显示绘图窗口一、绘图设置因为是创建的第一个绘图窗口,所以默认名称为Figure1。示例代码中如果缺少plt.show(),则不会显示该绘图窗口。3.创建子图在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象,每个Axes对象相当于一个子图了。在绘图时,可以选择是否将整个绘图窗口划分为多个子图(Axes),方便在同一幅图上绘制多个子图。一、绘图设置3.创建子图利用subplot可以将当前绘图窗口(figure)划分为按行列编号的多个矩形窗格,每一个矩形窗格都对应一个子图。创建子图的方法主要有两种,一种是分步添加子图再分别填充子图,另一种是一次创建多个子图,再选取其中的子图进行填充。一、绘图设置3.创建子图(1)分步添加子图在matplotlib中,可以利用add_subplot逐一创建子图,其一般方法为:fig=plt.figure() #利用plt.figure()创建绘图窗口并命名为figax=fig.add_subplot(m,n,k) #添加编号为k的子图其中,m表示绘图窗口分为m行,n表示绘图窗口分为n列,k表示创建的子图编号。一、绘图设置3.创建子图(1)分步添加子图一、绘图设置示例代码如下:fig=plt.figure(figsize=(6,4)) #利用plt.figure()创建绘图窗口并命名为figax1=fig.add_subplot(1,2,1)ax2=fig.add_subplot(1,2,2)plt.show()3.创建子图(1)分步添加子图一、绘图设置3.创建子图(2)创建多个子图在matplotlib中,可以利用subplots一次创建多个子图,其一般方法为:fig,axes=plt.subplots(m,n)ax=axes[i,j]其中,m和n表示将绘图窗口分割为m行n列矩形子窗口,使用时需要保证m和n都要大于1。i和j分别表示在矩形子窗口中的行列位置,并且行与列编号都是从0开始编号。一、绘图设置3.创建子图(1)分步添加子图一、绘图设置示例代码如下:fig,axes=plt.subplots(2,3)#创建2行3列的绘图窗口ax1=axes[0,1]ax2=axes[1,2]plt.show()3.创建子图(1)分步添加子图一、绘图设置3.创建子图(1)分步添加子图创建子图时,如需要同时编辑所有子图,还可以利用循环语句进行编辑,其一般方法为:fig,axes=plt.subplots(m,n)ax=axes.ravel()foriinrange(k): ax[i]一、绘图设置4.设置绘图窗口属性绘图窗口是绘图的主体部分,绘图窗口属性包括标题,坐标轴名称、坐标轴刻度等,设置绘图窗口属性与绘制图形是并列的,没有先后顺序。一般来说,可以先绘制图形,再设置绘图窗口属性。一、绘图设置4.设置绘图窗口属性一、绘图设置属性名称说明plt.title表示添加标题。plt.legend表示显示图例。plt.xlabel表示添加x轴名称。plt.ylabel表示添加y轴名称。plt.xlim表示指定x轴的范围。plt.ylim表示指定y轴的范围。plt.xticks表示指定x轴刻度的数目与取值。plt.yticks表示指定y轴刻度的数目与取值。plt.axvline表示添加x轴辅助线。plt.axhline表示添加y轴辅助线。plt.text表示添加文本标注,常用来添加数据标签。4.设置绘图窗口属性(1)在设置标题、坐标轴等含有字符信息时,如果需要显示中文字符,需要使用rcParams参数。(2)在设置图例时,可以利用参数loc控制图例的位置,如loc='upperright'表示图例在上方靠右位置,“loc=lowercenter”表示图例在下方居中位置。默认是上方靠右位置。一、绘图设置4.设置绘图窗口属性(3)利用plt.xlim和plt.ylim添加设置x轴与y轴范围时,需要将范围写进列表中,如plt.xlim([0,10])表示x轴的范围为0到10。(4)利用plt.xticks和plt.yticks添加x轴与y轴刻度时,需要将一系列刻度都写进列表中,并且用逗号隔开。如plt.xticks([0,2,4,6,8,10])表示在x轴显示刻度0,2,4,6,8,10,如果刻度较为规律,可以利用np.arange进行创建。一、绘图设置4.设置绘图窗口属性(5)利用plt.axvline(color,linestyle)与plt.axhline(color,linestyle)添加x轴和y轴辅助线时,参数color表示辅助线的颜色,参数linestyle表示辅助线的类型。(6)利用plt.text(x,y,string)添加文本标注时,参数x、y表示文本标注位置,即文本标注横坐标与纵坐标,string表示添加的说明文字。一、绘图设置4.设置绘图窗口属性(7)子图的绘图属性与窗口的绘图属性略有不同,子图的绘图属性只需要在窗口的绘图属性之前加set_即可,如设置子图的标题可用set_title。一、绘图设置4.设置绘图窗口属性一、绘图设置示例代码如下:plt.figure(figsize=(6,4))#创建一个6*4的绘图窗口plt.title("title")#添加标题“title”plt.ylabel("ylabel")#添加y轴标题“ylabel”plt.xlim([0,10])#将x轴范围设为0到10plt.xticks([0,2,4,6,8,10])#将x轴刻度设为0,2,4,6,8,10plt.show()4.设置绘图窗口属性一、绘图设置5.设置图形的rcParams参数pyplot可以使用rcParams参数修改图形的各种默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、网络属性、字体等。rcParams参数可以在Python的交互环境中动态修改属性,参数修改后,绘图时默认参数就会改变。一、绘图设置5.设置图形的rcParams参数一、绘图设置参数名称说明figure.figsize表示窗口的大小。font.sans-serif表示图像显示的中文字体,SimHei表示黑体,KaiTi表示楷体,FangSong表示仿宋。lines.linewidth表示线宽。lines.linestyle表示线的类型。可取“-”、“--”、“-.”、和“:”四种,默认为“-”。axes.unicode_minus表示是否显示负数,False表示显示负数。font.size表示字体的大小。text.color表示文本的颜色。5.设置图形的rcParams参数(1)在图形中输入中文字符时,一定要使用参数font.sans-serif,如plt.rcParams['font.sans-serif']=['SimHei']就表示输入中文为黑体,如果不适用该参数,则在图形中输入中文时,会显示□□□□□等缺省符。(2)lines.linestyle表示线型类型,默认为实线,如需修改为虚线,可用plt.rcParams['lines.linestyle']='--'。一、绘图设置5.设置图形的rcParams参数(3)color参数在绘图中使用较为广泛,既可以表示文本颜色,又可以表示点或线的颜色。颜色种类有很多,如“k”表示黑色,“g”表示绿色,“r”表示红色,“b”表示蓝色,“yellow”表示黄色,“orange”表示橙色,“grey”表示灰色,“brown”表示棕色,“yellowgreen”表示黄绿色、“skyblue”表示天蓝色,“lightyellow”表示淡黄色、“darkorange”表示深橙色等。颜色参数具体设置可参考附录1。一、绘图设置5.设置图形的rcParams参数一、绘图设置示例代码如下:plt.figure(figsize=(6,4))#创建一个6*4的绘图窗口plt.rcParams['font.sans-serif']=['SimHei']#设置中文字体plt.rcParams['axes.unicode_minus']=False#显示负数plt.rcParams['font.size']=20#显示字体大小plt.rcParams['text.color']='r'#显示字体颜色plt.title("标题")#将标题设为“title”plt.xticks([-2,-1,0,1,2])#设置x轴刻度plt.show()5.设置图形的rcParams参数一、绘图设置在matplotlib中,可以使用通用的plot函数针对DataFrame绘制简单图形,如折线图、柱形图、条形图等。二、简单绘图1.利用plot函数绘制Series图形利用plot函数绘制Series图形的一般方法为:Series.plot(kind,color)其中,参数kind表示绘图的类型,kind=line表示折线图,“bar”表示柱形图,“barh”表示条形图。color表示绘图对象的颜色。二、简单绘图2.利用plot函数绘制DataFrame图形利用plot函数绘制DataFrame图形的一般方法为:DataFrame.plot(kind,color)其中,kind表示绘图的类型,kind=line表示绘制折线图,kind=bar表示绘制柱形图,kind=barh表示绘制条形图。color表示绘图对象的颜色。二、简单绘图任务实训5-1:创建Series数据data1,data1的数据为90、85、95、90,其对应的index为“001”、“002”、“003”、“004”,根据data1,完成:(1)利用rc参数设置绘图窗口的大小为12*8,设置中文字体为黑体。(2)在第1个子图中,绘制柱形图,柱状的颜色为天蓝,添加图表标题“数学成绩”,利用np.arange生成y轴刻度0、10、20、30、…、100,在y轴90的位置,添加辅助线,辅助线为红色虚线。(3)在第2个子图中,绘制条形图,柱状的颜色为天蓝,添加图表标题“数学成绩”,利用np.arange生成x轴刻度0、10、20、30、…、100,在x轴90的位置,添加辅助线,辅助线为红色虚线。任务实训5-1具体代码如下:importpandasaspdimportnumpyasnpdata1=pd.Series([90,85,95,80],index=['001','002','003','004'])
#创建Seriesfig=plt.figure(figsize=(12,8))plt.rcParams['font.sans-serif']=['SimHei']fig.add_subplot(1,2,1)data1.plot(kind='bar',color='skyblue')#绘制柱形图任务实训5-1具体代码如下:plt.title('数学成绩')#添加标题plt.yticks(np.arange(0,101,10))#利用np生成序列作为y轴的刻度plt.axhline(90,linestyle='--',color='darkorange')#添加y轴辅助线fig.add_subplot(1,2,2)data1.plot(kind='barh',color='skyblue')#绘制柱形图plt.title('数学成绩')#添加标题plt.xticks(np.arange(0,101,10))#利用np生成序列作为x轴的刻度plt.axvline(90,linestyle='--',color='darkorange')#添加x轴辅助线plt.show()任务实训5-1任务实训5-2:创建DataFrame数据data2,data2包含4行3列,3列的列名分别为“数学”、“语文”、“英语”,4行的index分别为“001”、“002”、“003”、“004”,data2如表所示。index数学语文英语00190951000028585
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版龙山区中医院医疗废物处理合同
- 2025版医疗设备融资租赁合同范本
- 辽宁省考试题及答案
- 库车辅警考试题及答案
- 2025年足部按摩师(中级)考试试卷:足部按摩行业市场分析报告
- 2025注册会计师考试财务报告信息化应用模拟试卷及答案解析
- 警察测试考试题及答案
- 2025版海沧区人民政府与厦门市住建委共同推进保障性住房建设合同
- 二零二五年度电商企业股权置换与数字货币交易合作框架协议
- 二零二五年度新能源物流车辆运输与充电服务合同
- 大数据中心建设解决方案
- T-SDFA 050-2024 混合型饲料添加剂中阿奇霉素的测定 液相色谱-串联质谱法
- 2025年中考化学试题及答案内蒙
- 消防火灾自动联动系统-实训指导书
- 手机通话的流程
- 电力行业中的职业健康与安全
- 水浒传每回内容梗概
- (译林版)二年级英语上册期中检测卷-附参考答案
- 工地试验室安全培训内容
- 小儿哮喘病护理
- 辽宁省第二届职业技能大赛(健康照护赛项)理论参考试题及答案
评论
0/150
提交评论