【数据操作与可视化】Serborn绘图-类别散点图和热力图

【数据操作与可视化】Serborn绘图-类别散点图和热力图

一、类别散点图

通过 stripplot()函数可以画一个散点图, stripplot0函数的语法格式如下。

sql 复制代码
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False)

上述函数中常用参数的含义如下

  • (1) x,y,hue:用于绘制数据的输入。
  • (2) data:用于绘制的数据集。
  • (3) jitter:表示抖动的程度(仅沿类別轴)。当很多数据点重叠时,可以指定抖动的数量或者设为True使用默认值。

为了让大家更好地理解,接下来,通过 stripplot()函数绘制一个散点图,示例代码如下。

ini 复制代码
# 获取tips数据
tips = sns.load_dataset("tips")
sns.stripplot(x="day", y="total_bill", data=tips)

运行结果如下图所示。

从上图中可以看出,图表中的横坐标是分类的数据,而且一些数据点会互相重叠,不易于观察。为了解决这个问题,可以在调用striplot()函数时传入jitter参数,以调整横坐标的位置,改后的示例代码如下。

ini 复制代码
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

运行结果如下图所示。

除此之外,还可调用 swarmplot0函数绘制散点图,该函数的好处是所有的数据点都不会重叠,可以很清晰地观察到数据的分布情况,示例代码如下。

ini 复制代码
sns.swarmplot(x="day", y="total_bill", data=tips)

运行结果如图所示。

二、热力图

基于advertising.csv的数据,利用matplotlib的热力图(heatmap)可以直观快速了解哪些列对销售额的影响最大,代码如下:

python 复制代码
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
ads = pd.read_csv('./advertising.csv')
print(ads.head())   # 显示数据列名和少量数据
sb.heatmap(ads.corr(), annot=True)   # corr:计算相关系数,annot=True,显示数字
plt.show()

从上图绘制的相关系数热力图来看,微信(wechat)的广告投放对销售额(sales)所产生的影响最大,也就是说微信广告的效果最好,微博次之,其他广告渠道最差。

当然,除了使用热力图来绘制相关性,我们也可以使用散点图来绘制两两影响,代码如下:

ini 复制代码
sb.pairplot(ads, x_vars=['wechat', 'weibo', 'others'], y_vars='sales')
plt.show()

同样可以比较直观的看出,微信与销售额之间成更好的正相关,拟合度更高。同时,根据以上可视化图像,也可以辅助我们选择一个更为合适的函数进行拟合。

相关推荐
少云清16 分钟前
【金融项目实战】7_接口测试 _代码实现接口测试(重点)
python·金融项目实战
深蓝电商API17 分钟前
爬虫IP封禁后的自动切换与检测机制
爬虫·python
m0_5500246318 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
B站_计算机毕业设计之家1 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏1 小时前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity1 小时前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道1 小时前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子1 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python