可视化库----Matplotlib入门+基础

一、基础美化

#-*-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()

                                      这里写图片描述

二、进阶篇—各类图形

2.1折线图

适用场景:折线图使用二维的大数据集,还适用二维数据集 的比较,一般用来表示趋势的变化。
优势:容易反应出数据变化的趋势

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()

2.2柱状图

使用场景:显示各项目之间的比较关系。
优势:表示数据清晰,直观
劣势:适用中小数据集
延伸:堆积条形图,百分比堆积条形图

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()

                                      这里写图片描述

                                      这里写图片描述

2.3【频率分布】直方图(质量分布图)

解析资料的规律性,判断总体质量分布情况

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()

                                      这里写图片描述

2.4饼图

使用场景:显示各类大小比例

#-*-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()

                                      这里写图片描述

2.5散点图

适用显示若干数据系列中各个数值的关系

#-*-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()

2.6堆叠图

使用场景:随时间的关系,堆叠图类似饼图,试试随时间变化

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()

                                      这里写图片描述

拓展:直方图,柱形,条形的标注
详细会在高级篇中讲
这里写图片描述

图形的选择

                                                  这里写图片描述

猜你喜欢

转载自blog.csdn.net/sakura55/article/details/80745644