scatter函数:
示例:
plt.scatter(x, y, s=None, c=None, marker=None, alpha=None, **kwargs)
常用参数及说明:
x,y 接收array。表示x轴和y轴对应的数据。无默认。
s 接收数值或者一维的array。指定点的大小,若传入一维array则表示每个点的大小。默 认为None。
c 接收颜色或者一维的array。指定点的颜色,若传入一维array则表示每个点的颜色。默 认为None
marker 接收特定string。表示绘制的点的类型。默认为None。
alpha 接收0-1的小数。表示点的透明度。默认为None。
plot 函数:
示例:
plt.plot(*args, **kwargs)
#plot函数在官方文档的语法中只要求填入不定长参数,
实际可以填入的主要参数主要如下。
参数及说明:
x,y 接收array。表示x轴和y轴对应的数据。无默认。
color 接收特定string。指定线条的颜色。默认为None。
linestyle 接收特定string。指定线条类型。默认为“-”。
marker 接收特定string。表示绘制的点的类型。默认为None。
alpha 接收0-1的小数。表示点的透明度。默认为None。
bar函数:
plt.bar(left,height,width = 0.8,bottom = None,
hold = None,data = None, ** kwargs )
常用参数说明:
left 接收array。表示x轴数据。无默认。
height 接收array。表示x轴所代表数据的数量。无默认。
width 接收0-1之间的float。指定直方图宽度。默认为0.8。
color 接收特定string或者包含颜色字符串的array。表示直方图颜色。默认为None。
pie函数:
plt.pie(x, explode=None, labels=None, colors=None,
autopct=None, pctdistance=0.6, shadow=False,
labeldistance=1.1, startangle=None, radius=None, … )
参数说明:
x 无接收array。表示用于绘制撇的数据。无默认。
autopct 接收特定string。指定数值的显示方式。默 认为None。
explode 接收array。表示指定项离饼图圆心为n个半径。默认为None
labels 接收array。指定每一项的名称。默认为None
color 接收特定string或者包含颜色字符串的array。表示饼图颜色。默认为None。
pctdistance 接收float。指定每一项的比例和距离饼图 圆心n个半径。默认为0.6。
labeldistance 接收float。指定每一项的名称和距离饼图 圆心多少个半径。默认为1.1。
radius 接收float。表示饼图的半径。默认为1。
箱线图(boxplot)也称箱须图,其绘制需使用常用的统计量,能提供有关数据位置和分散 情况的关键信息,尤其在比较不同特征时,更 可表现其分散程度差异。
箱线图利用数据中的五个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来 描述数据,它也可以粗略地看出数据是否具有 对称性、分布的分散程度等信息,特别可以用 于对几个样本的比较。
实例1:散点图基础:
import matplotlib.pyplot as plt
# 1、创建画布
plt.figure()
# 2、绘图
#准备点的坐标(x,y)
x = [1,2,3]
y = [6,8,3]
#绘制散点图
# s 代表点的大小,传一个代表这一组点都是一样的大小
# 传一个数组,数组对应的值就是对应点的大小
# c 代表颜色,传一个代表这组点都是一种颜色,
# 传一个数组,数组对应的值就是对应点的颜色
# alpha 透明度
plt.scatter(x,y,s=[12,80,120],marker="*",c=['r','g','y'],alpha=0.8)
# 3、展示
plt.show()
# 1、符合顺序的那种散点图,可以用来观察发展趋势
# 2、聚合的散点图,是用来观察样本、特征之间的相关联系
import matplotlib.pyplot as plt
import numpy as np
# 加载数据
#加载数据
data = np.load("./国民经济核算季度数据.npz")
columns = data['columns']
values = data['values']
print(columns)
print(values)
#创建画布
fig = plt.figure(figsize=(20,10))
# 默认不支持中文,需要配置RC参数
plt.rcParams['font.sans-serif']='SimHei'
# 默认不支持负号,需要配置RC参数
plt.rcParams['axes.unicode_minus']=False
# 绘图
fig.add_subplot(2,1,1)
# 准备xy 数据
x = values[:,0]
y1 = values[:,3]
y2 = values[:,4]
y3 = values[:,5]
plt.scatter(x,y1)
plt.scatter(x,y2)
plt.scatter(x,y3)
# 增加标题
plt.title("2000-2017年各产业季度生产总值散点图")
#增加轴名称
plt.ylabel("生产总值(亿元)")
# 增加x刻度
# plt.xticks(x[::4],values[:,1][::4],rotation=45,horizontalalignment='right')
plt.xticks(x[::4],np.arange(1,values.shape[0]+1)[::4])
# plt.text()
# 增加图例
plt.legend([tmp[:4] for tmp in columns[3:6]])
fig.add_subplot(2,1,2)
# 准备xy 数据 x--序号 y 各个行业生产总值
x = values[:,0]
# y = values[:,6:] 不可以这么绘制,必须一列一列一一绘制
# plt.scatter(x,y)
# #
y1 = values[:,6]
y2 = values[:,7]
y3 = values[:,8]
y4 = values[:,9]
y5 = values[:,10]
y6 = values[:,11]
y7 = values[:,12]
y8 = values[:,13]
y9 = values[:,14]
plt.scatter(x,y1)
plt.scatter(x,y2)
plt.scatter(x,y3)
plt.scatter(x,y4)
plt.scatter(x,y5)
plt.scatter(x,y6)
plt.scatter(x,y7)
plt.scatter(x,y8)
plt.scatter(x,y9)
# 增加轴名称
plt.ylabel("生产总值(亿元)")
# 增加x刻度
plt.xticks(x[::4],values[:,1][::4],rotation=45,horizontalalignment='right')
# plt.text()
# 增加图例 fontsize 大小
plt.legend([tmp[:2] for tmp in columns[6:]],fontsize=8,loc=2)
#保存图片
plt.savefig("./2000-2017年各产业、行业季度生产总值散点图.png")
# 展示
plt.show()
#柱状图---有限类别数量的柱子 ---少量数据---对比类别数据差距
#直方图 -- 各个区间内数量的柱子---大量数据---数据的分布规律
# 导包
import matplotlib.pyplot as plt
# 1、创建画布
plt.figure()
# 默认不支持中文,需要配置RC参数
plt.rcParams['font.sans-serif']='SimHei'
# 默认不支持负号,需要配置RC参数
plt.rcParams['axes.unicode_minus']=False
# 2、绘图
# 模拟 学校里面爱好乒乓球、篮球、羽毛球的人数对比
x =[1,2,3]
y =[120,234,320]
# height 柱子高度,具体的数值
# width 柱子的宽度
# x 类别序号
plt.bar(x,height=y,width=0.5,color=['r','g','y'])
# 增加标题
plt.title("各球类运动爱好者柱状图")
# 修改刻度
plt.xticks(x,["乒乓球","篮球","羽毛球"])
# 标注
for i,j in zip(x,y):
plt.text(i,j+3,"%d人"%j,horizontalalignment='center')
# 增加轴名称
plt.xlabel("球类运动")
plt.ylabel("人数")
# 保存图片
plt.savefig("各球类运动爱好者柱状图.png")
# 3、展示
plt.show()
示例4:直方图:
import matplotlib.pyplot as plt
import numpy as np
# 1、创建画布
plt.figure()
# 默认不支持中文,需要配置RC参数
plt.rcParams['font.sans-serif']='SimHei'
# 默认不支持负号,需要配置RC参数
plt.rcParams['axes.unicode_minus']=False
# 2、绘图
#身高案例:
#
height = np.array([150,156,167,168,166,172,170,184,189,192,164,173,172,178,177])
# 自定义分组---等宽分组
bins = np.arange(height.min(),height.max()+5,5)
# print(bins)
# 绘制直方图
plt.hist(height,bins=bins,edgecolor='r',color='g')
#修改刻度u
plt.xticks(bins)
# 增加网格曲线
plt.grid(b=True,axis='y')
# 增加轴名称
plt.xlabel("身高")
plt.ylabel("人数")
# 增加标题
plt.title("学生身高统计直方图")
# 保存图片
plt.savefig("./学生身高统计直方图.png")
# 3、展示
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#加载数据
data = np.load("./国民经济核算季度数据.npz")
columns = data['columns']
values = data['values']
print(columns)
print(values)
# #1、创建画布
plt.figure()
# 默认不支持中文,需要配置RC参数
plt.rcParams['font.sans-serif']='SimHei'
# 默认不支持负号,需要配置RC参数
plt.rcParams['axes.unicode_minus']=False
# # 2、绘图
# # 2017第一季度 这一行所对应的 一、二、三产业 总值具体的值
#准备数据
x = values[-1,3:6]
# 设置缝隙--距离圆心的半径
# explode=(0.01,0.02,0.03)
# 设置标签
labels=[tmp[:4] for tmp in columns[3:6]]
# 设置颜色
colors= ['r','g','y']
# shadow ---阴影
# 绘图
plt.pie(x,labels=labels,colors=colors,autopct='%.2f%%',shadow=True)
# 将椭圆变为圆形
plt.axis('equal')
# 增加标题
plt.title("2017年第一季度各个产业生产总值饼图")
# 设置图例
plt.legend(labels)
# 保存图片
plt.savefig("./2017年第一季度各个产业生产总值饼图.png")
# # 3、展示
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#加载数据
data = np.load("./国民经济核算季度数据.npz")
columns = data['columns']
values = data['values']
print(columns)
print(values)
# 绘图
# 1、创建画布
plt.figure()
# 默认不支持中文,需要配置RC参数
plt.rcParams['font.sans-serif']='SimHei'
# 默认不支持负号,需要配置RC参数
plt.rcParams['axes.unicode_minus']=False
# 2、绘图
# 准备数据--第一产业的值
x = (values[:,3],values[:,4],values[:,5]) #此方法不行时,使用下一行方法
# x = list([list(values[:,3]),list(values[:,4]),list(values[:,5])])
#绘图
# notch 是否缺口
labels= [tmp[:4] for tmp in columns[3:6]]
plt.boxplot(x,notch=True,meanline=True,showmeans=True)
# 3、展示
plt.show()