Python学习之数据分析绘图库(matplotlib&seaborn)

目录一、数据分析绘图库Matplotlib1.绘图基础知识2.常用图形3. 绘图步骤4.属性详解5.多图绘制1)绘图步骤2)多图案例3)案例一:散点图绘制4)案例二:曲线图绘制5)子图绘制6.案例三(柱状图绘制)二、K近邻算法分类可视化分析1.K近邻算法原理2.K近邻算法数据集三、K近邻算法回归可视化分析四.seaborn库1.seaborn整体风格2.seaborn设置子图风格3.seaborn内容风格一、数据分析绘图..
摘要由CSDN通过智能技术生成

目录

一、数据分析绘图库Matplotlib

1.绘图基础知识

2.常用图形

3.  绘图步骤

4.属性详解

5.多图绘制

1)绘图步骤

 2)多图案例

3)案例一:散点图绘制

4)案例二:曲线图绘制

5)子图绘制

6.案例三(柱状图绘制)

二、K近邻算法分类可视化分析

1.K近邻算法原理

2.K近邻算法数据集

三、K近邻算法回归可视化分析

四.seaborn库

1.seaborn整体风格

2.seaborn设置子图风格

3.seaborn内容风格


一、数据分析绘图库Matplotlib

  • matplotlib是python比较底层的可视化库,可定制性强、图表资源丰富、简单易用、达到出版质量级别。
  • Seaborn是在matplotlib的基础上进行了更高级的API封装, 作图更加容易。
  • 它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。
  • Matplotlib 是 Python 的绘图库。
  • 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。
  • 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

1.绘图基础知识

  • 图例Legend 代表图形里的内容
  • 网格Grid,图形中的虚线,True显示网格
  • 点 Markers:表示点的形状。

2.常用图形

  • 基本的视觉元素有三种:点、线、柱状。分析下面需求绘制什么图形?
  • 学生为某科课程花费的时间和考试成绩两者之间的关系,查看两者之间的相关性。

3.  绘图步骤

4.属性详解

maker标记样式

标记颜色color

例如:第一个图形绘制完整顺序


# 1). 导入绘图库
import  matplotlib.pyplot as plt
import  numpy as np
# 2). 创建画板figure
figure = plt.figure(figsize=(10, 10))
# 3). 创建子图subplot/Axes
ax = plt.subplot(1, 1, 1)
# 4). 准备数据
# 从0-50分割成100份
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 6). 绘制
ax.plot(x, y, color='orange', marker='*', linestyle='-.')
ax.set_title('y = sinx')
ax.set_xlabel('x')
ax.set_ylabel('y')
# 7). 显示图形或者保存图形到文件中
# plt.show()
plt.savefig('barbar.png')

运行结果:

第一个图形绘制快速版:

import matplotlib.pyplot as plt
import numpy as np
import  seaborn as sns

# 1). 准备数据信息
x = np.linspace(0, 20, 100)
y = np.sin(x)

# 设置seaborn的主题样式
sns.set(style='ticks')

# 2). 直接绘图
plt.plot(x, y)
# plt.scatter(x, y)
plt.title('y = sinx')
plt.xlabel('x')
plt.ylabel('y')

# 去掉上边框和右边框(在绘图之后进行设置)
sns.despine(top=True, right=True)

# 3). 绘制图形并显示或者存储在文件中
# plt.show()
plt.savefig('barbar.png')

运行结果:

5.多图绘制

1)绘图步骤

 2)多图案例

3)案例一:散点图绘制

绘图需求: 基于某函数,并在其一定范围震动的离散图。一定范围内震动呢?y加个随机数

import numpy as np
import matplotlib.pyplot as plt
def trans(x):
    """
    按照函数定义x,y之间的关系,y是含有50个元素的数组
    :param x:
    :return:
    """
    #Numpy具有焊好的传播机制:数字间或者数组间计算,只需要关注逻辑
    #随机范围-5~5之间
    random_data = -5 + 10 * np.random.random(x.shape)
    y = 1 / 100 * x ** 4 - 8 / 300 * x ** 3 - 3 + np.log(x) +
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值