一、学习目标 1.Matplotlib简介 2.安装Matplotlib 3.调用Matplotlib 二、重点知识 1.Matplotlib简介 Matplotlib由神经生物学家John.D Hunter博士于2007年创建,是Python中最常用的可视化工具之一。利用Matplotlib可以非常方便的画散点图、等高线图、条形图、柱形图、3D图形、图形动画等。Matplotlib最早是为了可视化癫痫病人的脑皮层电图相关的信号而研发,因为在函数的设计上参考了MATLAB,所以叫作Matplotlib。Matplotlib在开源和社区的推动下,现在基于Python的各个科学计算领域都得到了广泛应用。 2.安装Matplotlib 在Windows系统中安装 Matplotlib库,如果系统在线联网的情况下,可以直接在Python安装路径的目录下输人pip install matplotlib(子母全部小写),系统自动到官方网站(http://matplotlib. org/users/installing. html)搜索 Matplotlib库,并且进行安装,最后提示successfully,表示安装成功。 3.调用Matplotlib 安装 Matplotlib 成功后,在使用时,输人 import matplotlib(字母全部小写)即可调用。 4.Matplotlib常用方法及含义如表所示
方法 | 含义 |
---|
axis() | 设置每个坐标轴的取值范围 | bar(l,[ align, color,alpha]) | 绘制垂直条形图 | barh(l,[ align, color,alpha]) | 绘制水平条形图 | figure() | 指定图片名称、宽、高、前景色、边框颜色等参数 | gca() | 获取Axes对象 | grid() | 画网格线,默认横纵坐标轴都画, 若grid(axis=“y”)表示只画y轴 | hist() | 绘制直方图 | legend( * args, ** kwargs) | 添加图例。参数必须为元组,例如 legend((line1,line2,line3),(label1 ,label2,label3)) | plot(参数) | 绘制折线图 | pyplot. pie(参数) | 绘制饼图 | rcParams[ ] | 配置图片文件参数,如figure. figsize(图片大小)、axes. unicode minus(字符显示等) | savefig() | 保存图形到指定的文件中 | scatter(参数) | 绘制散点图 | show() | 打开Matplotlib查看器,并显示绘制的图形 | tick_params() | 设置刻度标记的大小 | title(title, fontsize) | 图表标题 | xlabel(title, fontsize) | 设置x坐标轴标题、标题的字号大小 | ylabel(title,fontsize) | 设置y坐标轴标题、标题的字号大小 | xlim(a,b) | 设置x轴坐标轴的取值范围 | ylim(a,b) | 设置y轴坐标轴的取值范围 | xticks( * args, * kwargs) | 获取或者设置x轴当前刻度的标签 | yticks( * args, * kwargs) | 获取或者设置y轴当前刻度的标签 |
5.知识拓展:Matplotlib搭配Numpy 模块 在使用Matplotlib时,经常会与Numpy模块搭配使用,用以解决输入、输出数据时变化的情况。Numpy(Numerical Python)是Python的一个扩展程序库,支持大量的维度数组与矩阵运算,而且还可以针对数组运算提供大量的数学函数库。 Numpy的前身Numeric,最早是由Jim Huounin与其他协作者共同开发。2005年,TravisOliphant在 Numeric中结合了另一个同性质的程序库Numarray 的特色,并加入了其他扩展而开发了Numpy. Numpy模块是Python的一种开源的数值计算扩展,不需要下载安装,可以直接调用,因此应用非常广泛。 三、实际运用 2.安装Matplotlib 今天的学习首先要把包安装进来,在电脑的开始处查找Python软件的位置安装路径(打开文件位置) 将文件位置打开后复制路径 在cmd窗口cd 粘贴到它的路径,回车 然后复制这个WHL文件 用pip install matplotlib安装Matplotlib库,然后回车等待,安装成功后如下图所示,在上面有给出下载文件的网站 3.调用Matplotlib (1)利用Matplotlib绘制折线图 代码示例
import matplotlib.pyplot as plt
picture_dot = [1,4,9,16,25]
plt.plot(picture_dot,linewidth=3)
plt.title("Matplotlib绘制折线图二")
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.tick_params(axis='both',labelsize=10)
plt.show()
运行结果 (2)利用Matplotlib绘制完美的折线图 代码示例
import matplotlib.pyplot as plt
input_dot = [1,2,3,4,5]
picture_dot = [1,4,9,16,25]
plt.plot(input_dot,picture_dot,linewidth=3)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title("Matplotlib绘制折线图二")
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.tick_params(axis='both',labelsize=10)
plt.show()
运行结果 (3)利用Matplotlib绘制散点图 代码示例
import matplotlib.pyplot as plt
x_values = [1,2,3,4,5]
y_values = [2,5,8,6,4]
plt.scatter(x_values,y_values,linewidth=3)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title("Matplotlib绘制折线图二")
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.tick_params(axis='both',labelsize=10)
plt.show()
运行结果 (4)利用Matplotlib绘制散点图 代码示例
import matplotlib.pyplot as plt
x_values = [1,2,3,4,5]
y_values = [2,5,8,6,4]
plt.scatter(x_values,y_values,c = 'red',edgecolor='none',s = 50)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title("Matplotlib绘制折线图二")
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.tick_params(axis='both',labelsize=10)
plt.show()
运行结果 (5)利用Matplotlib绘制水平、橘色条形图并将结果存储在当前路径下 代码示例
在这里插入代码片from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
a = ["王小天","李晨晨","陈小月","田甜","庞拓","小红"]
b = [88,90,98,86,92,80]
plt.figure(figsize=(6,3))
plt.barh(range(len(a)),b,height=0.3,color='orange')
plt.yticks(range(len(a)),a,rotation=0)
plt.grid(alpha=0.3)
plt.title("Matplotlib绘制水平条形图")
plt.savefig("水平条形图.png")
plt.show()
运行结果 (6)利用Matplotlib绘制垂直条形图,并将结果储存在当前系统默认路径中 代码示例
在这里插入代码片from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicodeminus'] = False
a = ["王小天","李晨晨","陈小月","田甜","庞拓","小红"]
b = [88,90,98,86,92,80]
plt.figure(figsize=(12,7_))
plt.bar(range(len(a)),b,width=0.3)
plt.xticks(range(len(a)),a,rotation=90)
plt.savefig("垂形条形图.png")
plt.show()
运行结果 (7)利用Matplotlib绘制直方图 代码示例
在这里插入代码片import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
a = [83,64,55,74,85,89,84,68,77,90,93,60,55,74,82,91,79,82,91,79,82,66]
b = [40,50,60,70,80,90,100]
plt.hist(a,b,histtype="bar",facecolor='yellow',edgecolor='black',alpha=0.7,rwidth=0.5)
plt.grid(alpha=0.3)
plt.legend()
plt.xlabel("全班20人不同分数段")
plt.ylabel("不同分数段的人数")
plt.title("Matplotlib绘制直方图")
plt.show()
运行结果 (8)利用Matplotlib绘制饼图 代码示例
在这里插入代码片import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
label_list = ["水费","电费","生活费","交通费","快递费","服装费"]
size = [45,35,200,100,30,300]
color = ["blue","red","green","orange","pink","gray"]
explode = [0,0,0,0,0,0.05]
plt.title("Matplotlib绘制饼图")
plt.pie(size, explode=explode, colors=color, labels=label_list, labeldistance = 1.1,autopct="%1.1f%%", shadow=False, startangle=90, pctdistance=0.6)
plt.axis("equal")
plt.legend()
plt.show()
运行结果 5.知识拓展:Matplotlib搭配Numpy 模块 (9)利用Matplotlib和Numpy搭配绘制曲线图 代码示例
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(0,4 * np.pi,50)
y = np.sin(x)
plt.figure(num = 2,figsize = (8,5),facecolor = 'white',edgecolor = 'blue')
plt.title("Matplotlib和Numpy搭配绘制曲线图")
plt.plot(x,y)
plt.show()
运行结果 今天我们继续学习了Python的图形界面设计,用Matplotlib生成数据图,作可视化的视图分析,然后就是Matplotlib搭配Numpy 的模块,其中Matplotlib在绘图时,可以根据自己需要自行修改坐标轴。
|