数据分析 day03(一)

可视化数据分析

一、线形图

二、2D图形

三、图形中注释、文字和箭头

四、3D图形

五、极坐标与雷达图

matplotlib的介绍:这工具是一个基本的可视化数据分析工具,主要用于处理数据图表、图像等可视化的分析。

导入

import matplotlib.pyplot as plt # 导入matplotlib的脚本层框架
import numpy as np     # 与numpy联合使用

Matplotlib包含的基本元素:

  1. 坐标轴:
    平面直角坐标系包含x轴和y轴
    三维坐标包括x轴、y轴和z轴
    极坐标包含极轴
  2. 坐标轴刻度:
    每个轴上都会有一定的刻度,用一定长度来度量特定值
  3. 坐标轴的标签:
    刻画每个坐标轴上的刻度代表是一个什么样量
  4. 绘图区域:
    平面直角坐标包含四个象限,三维坐标包含8个卦限

一、线形图

1、线形图的绘制
1.1 包含一条曲线的线形图

plot()函数,用于绘制线形图
show()函数,用于将绘制好的线形图显示在坐标系中

画一条曲线,可以传一个数组,也可以传两个数组
传一个数组:x轴表示数组的下标,y轴表示数组中具体的值
传两个数组:要求两个数组的数据量要一致,x轴表示数组1的值,y轴表示数组2的值,此时图像反映的就是数组2随着数组1的值的变化而变化的规律

一个数组 x
在这里插入图片描述
两个数组 x,y
在这里插入图片描述

1.2 包含多条曲线的线形图
y1 = x**2
y2 = np.tan(x)
y3 = x**3

注意:
一个show函数一次只能开启一个坐标系,所有show函数前面画所有的图像,都会在show函数开启坐标系中显示

方式一:调用多个plot函数来画,然后用一个show函数统一显示在同一个坐标系中
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
plt.plot(x,y3)
plt.show() 

第一个图像是y1,x和y2,x
第二个图像是y3,x
在这里插入图片描述

方式二、调用一个plot函数,传多对数组可以画出多条曲线

在这里插入图片描述

每次输完代码,都要加上plt.show()才能展示图像,很麻烦
这里有一个小技巧点:
加一会魔法指令%matplotlib inline
这个魔法指令,可以 在一个绘图的cell的最后默认加上plt.show()
在这里插入图片描述
可以看到,输完plt.plot(x,y),执行这个指令,可以直接显示图像

2. 网格线

plt.grid()
在这里插入图片描述
plt.grid()里还可以加入参数

lw=1, 线宽为1
c=‘m’,颜色为洋红色
alpha=0.5 透明度为0.5在这里插入图片描述

练习:绘制一个半径为5的圆
函数的表示方式: x^2 + y^2 = 25
在编程中我们要定义一个x数组,用x来表示y
y = (25-x^2 )^0.5 和y = -(25-x^2 )^0.5

在这里插入图片描述
这是圆吗?确定不是椭圆?
这是圆,只不过坐标轴的刻度不统一,修改一下就行了
在这里插入图片描述

那么再画个椭圆吧
在这里插入图片描述
这才是真正的椭圆,为了观察方便,可以加上网格线

3、轴面

每个plt.show函数都会创建并且显示一个轴面,如果我们需要显示多个坐标系,就需要我们在当前轴面中添加子轴面

先来创建第一个子轴面
在这里插入图片描述
在这个轴面下再创建第二个,第三个子轴面
在这里插入图片描述
向每一个子轴面中添加图像
在这里插入图片描述
查看效果
在这里插入图片描述

4. 坐标轴的界限

法一:用axis方法来给坐标轴设置界限
在这里插入图片描述

此时图像是一个椭圆
在这里插入图片描述
加上plt.axis(“off”),去掉了坐标轴
在这里插入图片描述

法二:使用xlim和ylim设置
在这里插入图片描述
为什么这个tan函数的极值不是无穷?这个是底层算法的原因

5、设置坐标轴的标签 label

默认情况下
在这里插入图片描述
修改纵坐标标签方向 rotation
当 rotation =0时是水平 当 rotation =90时是垂直
在这里插入图片描述
修改纵坐标标签位置
horizontalalignment默认是center 可以有left,right选项
在这里插入图片描述

6、设置标题 title()

text = plt.title(“y=sinx”) 设置标题 用text接收
text.set_fontstyle(“italic”) 设置字体为意大利体
text.set_backgroundcolor(“blue”) 设置背景颜色为蓝色
text.set_color(“red”) 设置字体颜色为红色
text.set_rotation(60 旋转60°(逆时针)

在这里插入图片描述
在这里插入图片描述

7、图例

方法一,在legen函数中添加
在这里插入图片描述

方法二,在每条曲线上设置一个label属性,然后用legend函数统一显示
在这里插入图片描述
ncol代表图例有多少列
在这里插入图片描述
ncol=2时,图例按两列显示
loc的可取值,默认是best或者0,代表在最合适的位置,这里是(1,1),图例显示在坐标轴外右上角
loc还可以取一个元组,代表图例的比例位置,这个比例是以整个坐标轴为比例 (X轴,Y轴)

loc = (0,1)时,在坐标轴上方,x轴为0,y轴为15
在这里插入图片描述

loc的取值:

字符串数值字符串数值
best0center left6
upper right1center right7
upper left2lower center8
lower left3upper center9
lower right4center10
right5
8、保存图片 plt.savefig()

在这里插入图片描述
保存到同级路径下
在这里插入图片描述
dpi=100,分辨率 : 表示单位英寸上有100个像素
facecolor=“b” 背景颜色 蓝色

在这里插入图片描述

9、线形图的风格设计
9.1线型
  1. 设置线型:参数linestyle或者ls
    取值:"-“实线,”–“破折线,”-.“点划线,”:"虚线,"steps"阶梯线,"None"代表不画线
    在这里插入图片描述
  2. 设置不同宽度的破折线
    属性dashes,传一个列表,列表中的元素成对出现,其中偶数序号的元素代表这段的宽度,奇数代表前面的偶数对应的间隔
    在这里插入图片描述
9.2 点型

marker代表点型,可取值如下:
“1” 一角朝下的三脚架 "2"一角朝上的三脚架 "3"一角朝左的三脚架 “4"一角朝右的三脚架
“s"正方形 p 五边形 h 六边形 H 六边形2 8 八边形
. 点 x 代表X * 代表* + 代表+ ,像素
o 圆 D菱形 d小菱形 None无
_ 水平线 | 垂直线
“>” “<” " ^” " v” 四个朝向的三角形

  1. 圆形
    在这里插入图片描述
  2. 菱形

在这里插入图片描述
3) 去掉线的菱形
在这里插入图片描述

9.3 颜色

属性:color或者c
颜色的可取值:
颜色名:比如red,green,blue等
颜色的别称:
红色 r,绿色 g,蓝色 b,黄色 y,青色 c,黑色 k,洋红色 m,白色 w
六位十六进制的字符串:#fdce90
RGB元组:(0.1,0.2,0.3) 或者rgba(0.1,0.4,0.6,0.2)

在这里插入图片描述

9.4 透明度 alpha

在这里插入图片描述

9.5 背景色 facecolor

在这里插入图片描述
如果要设置图像绘图区域的背景色,需要借助于子轴面
在这里插入图片描述

9.6 更多的点和线的设置

c或者color 线的颜色
linestyle或者ls 线的样式
linewidth或者lw 线宽
marker 点型
markeredgecolor 点的边缘的颜色
markeredgewidth 点的边缘的宽度
markerfacecolor 点的内部颜色
markersize 点的大小

在这里插入图片描述

不同的设置方法
  1. 用格式字符串统一设置点型、线性和颜色
    在这里插入图片描述
  2. 用setter方法来设置
    在这里插入图片描述
9.7 设置x轴和y轴的刻度

例如正弦函数图像,一个周期为2Π,重新设置极值对应的横,纵坐标
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值