栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 数据分析——Matplotlib相关知识

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 数据分析——Matplotlib相关知识

Python 数据分析——Matplotlib相关知识

第二章 Matplotlib相关知识 —— 绘图


文章目录
  • Python 数据分析——Matplotlib相关知识
  • 前言
  • 一、Artist的两种类型
  • 二、Primitive -- 基本元素
    • 1.曲线-Line2D
      • 1.1 三种设置Line2D的属性
      • 1.2 绘制lines
    • 2.patches
      • 2.1. Rectangle-矩形
  • 总结


前言

这次主要是从Artist的两种类型:primitives 和containers入手,学习了解基本的绘图以及绘图模板


一、Artist的两种类型
  • primitive是基本要素,它包含一些我们要在绘图区作图用到的标准图形对象,如曲线Line2D,文字text,矩形Rectangle,图像image等。

  • container是容器,即用来装基本要素的地方,包括图形figure、坐标系Axes和坐标轴Axis。他们之间的关系如下图所示:

二、Primitive – 基本元素

primitives 的几种类型:曲线-Line2D,矩形-Rectangle,多边形-Polygon,图像-image

1.曲线-Line2D

常用的的参数有:

xdata: 需要绘制的line中点的在x轴上的取值,若忽略,则默认为range(1,len(ydata)+1)
ydata: 需要绘制的line中点的在y轴上的取值
linewidth: 线条的宽度
linestyle: 线型
color: 线条的颜色
marker: 点的标记
markersize: 标记的size

1.1 三种设置Line2D的属性
  • 初始化x,y
x = range(0,10)
y = [random.randint(0,25) for _ in range(10)]

a. 直接在plot()函数中设置

plt.plot(x,y, linewidth=2);

b. 通过获得线对象,对线对象进行设置

line, = plt.plot(x, y, '-') 
line.set_antialiased(False); 

c. 获得线属性,使用setp()函数设置

lines = plt.plot(x, y)
plt.setp(lines, color='b', linewidth=2);


1.2 绘制lines
  • 初始化x,y1,y2
x = range(0,5)
y1 = [2,5,7,8,10]
y2= [3,6,8,9,11]

两种绘制直线line常用的方法:

a. plot方法绘制

fig,ax= plt.subplots()
ax.plot(x,y1,color = 'red')
ax.plot(x,y2)
print(ax.lines);

b. Line2D对象绘制

fig,ax= plt.subplots()
lines = [Line2D(x, y1), Line2D(x, y2,color='red')]  
for line in lines:
    ax.add_line(line)
ax.set_xlim(0,4)
ax.set_ylim(2, 11);


2.patches 2.1. Rectangle-矩形

a. hist–直方图

常用参数

  • x: 数据集,最终的直方图将对数据集进行统计
  • bins: 统计的区间分布
  • range: tuple, 显示的区间,range在没有给出bins时生效
  • density: bool,默认为false,显示的是频数统计结果,为True则显示频率统计结果,这里需要注意,频率统计结果=区间数目/(总数*区间宽度),和normed效果一致,官方推荐使用density
  • histtype: 可选{‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’}之一,默认为bar,推荐使用默认配置,step使用的是梯状,stepfilled则会对梯状内部进行填充,效果与bar类似
  • align: 可选{‘left’, ‘mid’, ‘right’}之一,默认为’mid’,控制柱状图的水平分布,left或者right,会有部分空白区域,推荐使用默认
  • log: bool,默认False,即y坐标轴是否选择指数刻度
  • stacked: bool,默认为False,是否为堆积状图

代码:

x=np.random.randint(0,100,100) 
bins=np.arange(0,101,10) 
plt.hist(x,bins,color='BlueViolet',alpha=0.5)
plt.xlabel('scores') 
plt.ylabel('count') 
plt.xlim(0,100);
plt.show()


a. bar - 柱状图

  • left: x轴的位置序列,一般采用range函数产生一个序列,但是有时候可以是字符串
  • height: y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据;
  • alpha: 透明度,值越小越透明
  • width: 为柱形图的宽度,一般这是为0.8即可;
  • color或facecolor: 柱形图填充的颜色;
  • edgecolor: 图形边缘颜色
  • label: 解释每个图像代表的含义,这个参数是为legend()函数做铺垫的,表示该次bar的标签
  • linewidth or linewidths or lw: 边缘or线的宽度

代码

np.arange(16)
y = range(1,17)
plt.bar(x,y, alpha=0.5, width=0.5, color='yellow', edgecolor='red', lw=2);


总结

暂时先写一半,剩下的后面继续

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号