(共18张PPT)
matplotlib模块绘图
4.2.2 编程处理数据
首先导入matplotlib的pyplot子库:
import matplotlib.pyplot as plt
导入绘图函数并记作plt,程序中
若是涉及到绘图函数则使用plt.XX
常用的绘图函数 figure() 创建一个新的图表对象,并设置为当前绘图对象;
show() 显示创建的所有绘图对象
plot() 绘制线形图;
bar() 绘制垂直柱形图;
barh() 绘制水平柱形图;
scatter() 绘制散点图;
title() 设置图表的标题;
xlim() ylim() 设置X、Y轴的取值范围;
xlabel() ylabel() 设置X、Y轴的标签;
legend() 显示图例;
figure() 创建一个新的图表,若是不创建,matplotlib会自动创建一个figure对象,默认名为Figure1
figure( num=“图表名称”,figsize=(宽,高) )
如figure(num=“数学”,figsize=(8,4)),则创建的图表名是数学,图表宽为8,高为4
plot()线形图
bar() 垂直柱形图
barh() 水平柱形图
scatter() 散点图
绘制图形时:左侧放置一列数据作为x轴,右侧 放置的一列数据作为y轴
如plt.plot(df.学号,df.数学) x轴则是学号列数据,y轴是数学列数据
linestyle 线条样式
linewidth 线条宽度
color 线条颜色
facecolor 图表的背景颜色
edgecolor 边框颜色
title() 设置图表的标题 plt.title(“ 哈哈哈”)
xlim() ylim() 设置X、Y轴的取值范围 plt.xlim(10,20) 则x轴的范围是10—20
plt.ylim(0,150) 则y轴的范围是0—150
xlabel() ylabel() 设置X、Y轴的标签 plt.xlabel(“你好”) 则在x轴的下端 显示 你好
legend() 显示图例 图例的内容一般通过label进行设置
如plt.bar(x,y,label=“果真如此”)
则图例的内容显示中就有 果真如此 字样
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,10,1000) #生成一个等差数组,(头,尾,数据个数)
y1 = np.sin(x)
y2 = np.sin(x**2)
plt.figure(figsize=(8,4)) #创建一个图表对象
plt.title("sin(x) and sin(x**2)") #设置图表标题 plt.plot(x,y1,label="sin(x)",color="r",linewidth=2) #绘制线型图 plt.scatter(x,y2,label="sin(x**2)") #绘制散点图
plt.ylim(-1.5,1.5) #设置 y 轴取值范围
plt.xlim(0,10) #设置 x 轴取值范围
plt.xlabel("x") #设置 x 轴标签
plt.ylabel("y") #设置 y 轴标签
plt.legend() #显示图例
plt.show() #显示绘图对象
内容扩展:
使用绘图函数进行绘图时,某个图形函数中放置的参数是
一列数据
如plt.plot(x,y) x和 y都是DataFrame中某一列的数据
但DataFrame中也提供了plot()绘图功能,使用时只需要
写列名
如df.plot(“学号”,“语文”) 默认绘制的是线形图
可以通过kind进行图形呈现的指定,而绘图函数中不能再
使用kind,否则冲突
课堂练习:
1、读取Excel中的数据,对“学号”列、“总分”列数据创建垂直柱形图
课堂练习:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel('test.xlsx')
x=_________________
y=__________________
______________________#绘制垂直柱形图
plt.title(______) #设置图表标题
plt.legend() #显示图例
plt.xlabel("xuehao") #设置X轴标签
plt.show() #显示绘图
import matplotlib.pyplot as plt
import numpy as np
#产生1个50个数据的等差数列
x=np.linspace(0,1,50)
y1=x**2
y2=np.sqrt(x)
y3=x**5
plt.figure()
____________("Mathematical function") #设置图表标题
________________________________ #绘制y1函数线形图
plt.scatter(x,y2,label="y2=np.sqrt(x)")
________________________________ #绘制y3函数散点图
________________ #显示图例
plt.show()
B
B
B