#-*-coding:utf-8-*-
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
x = [1,2,5]
y = [5,4,2]
x2 = [1,3,5]
y2 = [1,9,7]
plt.plot(x,y,label="第一条线")
plt.plot(x2,y2,label="第二条线")
plt.xlabel("x轴")
plt.ylabel('y轴')
plt.title("基础美化")
plt.legend()
plt.show()
适用场景:折线图使用二维的大数据集,还适用二维数据集 的比较,一般用来表示趋势的变化。
优势:容易反应出数据变化的趋势
import matplotlib.pyplot as plt
x = [1,2,5]
y = [5,4,2]
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
plt.plot(x,y,label="折线图")
plt.xlabel("x")
plt.ylabel("y")
plt.title("折线图")
# 用legend()方法展示
plt.legend()
plt.show()
使用场景:显示各项目之间的比较关系。
优势:表示数据清晰,直观
劣势:适用中小数据集
延伸:堆积条形图,百分比堆积条形图
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
plt.bar([1,3,5,7,9],[4,2,7,9,8],label="柱形图")
plt.bar([2,4,6,8,10],[4,2,7,9,8],label="柱形图2",color="r") #color设定颜色
plt.xlabel("x")
plt.ylabel("y")
plt.title("柱形图")
# 用legend()方法展示
plt.legend()
plt.show()
#以下是绘制条形图的代码
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
plt.barh([1,3,5,7,9],[4,2,7,9,8],label="条形图")
plt.barh([2,4,6,8,10],[4,2,7,9,8],label="条形图2",color="r") #color设定颜色
plt.xlabel("x")
plt.ylabel("y")
plt.title("条形图")
# 用legend()方法展示
plt.legend()
plt.show()
解析资料的规律性,判断总体质量分布情况
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
population_age = [23,4,14,55,43,5,34,6,3,5,2,4,56,24,23,4,23]
bins=[0,10,20,30,40,50,60,70]
plt.hist(population_age,bins,histtype="bar",label="年龄分布图")
plt.xlabel("x")
plt.ylabel("y")
plt.title("直方图")
# 用legend()方法展示
plt.legend()
plt.show()
使用场景:显示各类大小比例
#-*-coding:utf-8-*-
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
slice=[7,4,8,8]
activities = ["sleeping",'eating','playing',"drinking"]
cols=['c','m','r','b']
plt.pie(slice,
labels=activities,
colors=cols,
startangle=90, #开始的分隔线是一条竖线
shadow=True,
explode=(0,0.1,0,0), #指定第二个图形出现0.1 的阴影
autopct='%1.1f%%') #百分比格式
plt.title("饼图")
plt.show()
适用显示若干数据系列中各个数值的关系
#-*-coding:utf-8-*-
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
x = [1,2,3,4,5,6,7,8]
y = [6,3,3,7,8,4,4,3]
plt.scatter(x,y,label='skitscat',color="k",s=25,marker="o")
plt.xlabel("x")
plt.ylabel("y")
plt.title("散点图")
# 用legend()方法展示
plt.legend()
plt.show()
使用场景:随时间的关系,堆叠图类似饼图,试试随时间变化
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']= ['SimHei'] #中文注释
plt.rcParams['axes.unicode_minus'] = False #显示正负号
days = [1,2,3,4,5,6,7,8]
sleeping = [1,2,3,4,5,6,7,8]
eating = [6,3,3,7,8,4,4,3]
working = [4,3,6,6,4,3,2,8]
playing = [3,4,5,5,2,1,4,3]
plt.stackplot(days,sleeping,eating,working,playing,colors=["r","m","b","k"])
plt.xlabel("x")
plt.ylabel("y")
plt.title("堆叠图")
plt.show()