当前位置: 首页 > news >正文

网站格式图片游戏推广对接平台

网站格式图片,游戏推广对接平台,wordpress增加分类与标签,wordpress 路由设计Seaborn 简介 Seaborn 是一个基于 Matplotlib 的图形可视化 Python 库,提供了高度交互式的接口,使用户能够轻松绘制各种吸引人的统计图表。Seaborn 可以直接使用 Pandas 的 DataFrame 和 Series 数据进行绘图。 1. Seaborn 绘制单变量图 (1) 直方图 h…

Seaborn 简介

Seaborn 是一个基于 Matplotlib 的图形可视化 Python 库,提供了高度交互式的接口,使用户能够轻松绘制各种吸引人的统计图表。Seaborn 可以直接使用 Pandas 的 DataFrame 和 Series 数据进行绘图。

1. Seaborn 绘制单变量图

(1) 直方图 histplot

  • hue: 根据另一个分类变量对数据进行分组并显示不同颜色的直方图。

  • kde: 是否绘制核密度估计曲线。

  • 其他常用参数:

    • bins: 控制直方图的条数。
    • stat: 选择统计方式(如 density 或 count)。

    示例代码:

import seaborn as sns
import matplotlib.pyplot as plt# fig 画布对象, ax坐标轴对象
fig, ax = plt.subplots(figsize=(10, 5))
# todo data: 要操作的 df或Series对象
# todo x, y: x轴 和 y轴 数据
# todo bins: 直方图, 划分区间的个数
# todo hue: 分组字段, 默认为None, 会按照该字段分组, 把相同分组数据画到一张图上
# todo kde: 绘制 核密度预估曲线
sns.histplot(data=tips, x='total_bill', bins=10, hue='sex', kde=True)
ax.set_title('直方图-总消费金额分布情况')
plt.show()

(2) 密度图 kdeplot

  • X 轴: 样本数据。
  • Y 轴: 密度值。
  • fill: 是否填充曲线下方区域。
  • 其他常用参数:
    • bw_adjust: 调整带宽以控制平滑度。

示例代码:

# todo 密度图是连续的 -> 概率分布   直方图是离散的 -> 样本数据
# todo 应用场景: 基于少量的样本数据, 去推理 总体数据的概率分布情况fig, ax = plt.subplots(figsize=(10, 5))
sns.kdeplot(data=tips, x='total_bill')
ax.set_title('密度图-总消费金额分布情况')
plt.show()

(3) 计数图 countplot

  • color: 仅支持单一颜色。
  • hue: 可用来在每个条形中分组显示不同的类别。
  • 其他常用参数:
    • order: 控制条形图中类别的顺序。

示例代码:

# todo 计数图 = 按照某个字段分组, 统计每个分组的数量, 然后绘制成 条形图(柱状图)
# 按照 星期分组, 统计每个星期的 消费次数
# 方式一
fig, ax = plt.subplots(figsize=(10, 5))
sns.countplot(data=tips, x='day', color='b')
ax.set_title('消费次数分布情况')
plt.show()# 方式二: 手动分组 + 聚合计算
tips.day.value_counts().plot.bar(figsize=(10, 5), color=['red', 'blue', 'yellow'])
ax.set_title('消费次数分布情况')
plt.show()

2. Seaborn 双变量数据可视化

(1) 散点图 scatterplot

  • hue: 根据另一变量划分颜色。(分组字段)

  • size: 根据另一变量划分点的大小。

  • 其他常用参数:

  • style: 根据另一变量改变点的形状。

示例代码:

# hue: 分组字段
fig, ax = plt.subplots(figsize=(10, 5))
# 2. 绘制散点图, 分析: 总消费金额, 小费 之间的关系.
# sns.scatterplot(data=tips, x='total_bill', y='tip')
sns.scatterplot(data=tips, x='total_bill', y='tip', hue='sex')
ax.set_title('散点图-总消费金额和消费之间的关系')
plt.show()

(2) 回归图 regplot

  • fit_reg: 默认绘制线性拟合回归线,设为 False 可禁用。

  • 其他常用参数:

  • ci: 置信区间的大小。

示例代码:

fig, ax = plt.subplots(figsize=(10, 5))
# todo fit_reg: 是否绘制回归线, 默认为 True
# todo 拟合回归线: 基于数据点(散点), 拟合出一条直线, 底层运行: 线性回归
sns.regplot(data=tips, x='total_bill', y='tip', fit_reg=True)
# sns.regplot(data=tips, x='total_bill', y='tip', fit_reg=False)
ax.set_title('散点图-总消费金额和消费之间的关系')
plt.show()

(3) 联合图 jointplot

一些函数在绘图的时候, 是直接绘制的, 无需指定画板, 也没有 figsize属性设置(图形宽高), 但一般有 height属性, 设置图形宽高: 如 jointplot, 可以把 jointplot()理解为: 散点图 + 直方图(每行每列都会绘制直方图)
  • kind: 绘制的图的类型(如 scatter, kde(密度图), hex(蜂巢图))。

  • height: 图的高度。

  • 其他常用参数:

  • hue: 分组显示不同的类别。

示例代码:

sns.jointplot(data=tips, x='total_bill', y='tip', kind='scatter', height=8)
plt.title('Jointplot of Total Bill and Tip')
plt.show()

(4) 2D 密度图 kdeplot

  • fill: 填充密度图。

  • cbar: 显示颜色区间图例。

  • 其他常用参数:

  • levels: 指定绘制的等高线的数量。

示例代码:

# 1. 获取 画布, 坐标轴对象
fig, ax = plt.subplots(figsize=(10, 5))
# 2. 设置2D密度图
# todo cbar: 是否绘制颜色条    fill: 是否填充颜色
sns.kdeplot(data=tips, x='total_bill', y='tip', fill=True, cbar=True)
ax.set_title('2D Ked TotalBill & Tip')
plt.show()

(5) 箱线图 boxplot

  • 定义: 显示数据的分位数及异常值。

  • 组成部分: 包括上边缘、上四分位数、中位数、下四分位数、下边缘、异常值。

  • 其他常用参数:

  • hue: 根据分类变量分组显示箱线。

  • 箱子的中间有一条线,代表了数据的中位数

  • 箱子的上下底,分别是数据的上四分位数(Q3)和下四分位数(Q1)

  • 箱体包含了50%的数据。因此,箱子的高度在一定程度上反映了数据的波动程度

  • 上下边缘则代表了该组数据的最大值和最小值

    • IQR = 上四分位数(Q3) - 下四分位数(Q1)

      四分位距(interquartile range, IQR),又称四分差

    • 判断异常值时最大值 = 上四分位数(Q3) + 1.5 IQR 大于这个值的就是异常值

    • 判断异常值时最小值 = 下四分位数(Q1)- 1.5 IQR 小于这个值的就是异常值

  • 有时候箱子外部会有一些点,可以理解为数据中的“异常值”

示例代码:

# 需求: 通过 箱线图(盒须图, 箱子图), 分析: 总消费金额, 时间 之间的关系.
# todo IQR = Q3 - Q1 : InterquantileRange四分位距表示法
fig, ax = plt.subplots(figsize=(10, 5))
sns.boxplot(data=tips, x='time', y='total_bill')
ax.set_title('箱线图-分析就餐时间和消费总金额之间的关系0')
plt.show()

(6) 小提琴图 violinplot

小提琴图, 它是经典的可视化方法,但可能会掩盖数据的分布

小提琴图能显示与箱线图相同的值, 小提琴图把"箱线"绘成核密度估计,

有助于保留数据的更多可视化信息

  • 优势
    • 小提琴图同时展示了数据的统计分布和概率密度,能够更好地揭示数据的形态和特征。
    • 小提琴图可以通过分组变量进行比较分析,方便观察不同类别间的差异。
    • 小提琴图能够显示数据的离散程度,通过观察图形的宽度可以了解数据的散布情况。
  • 定义: 在箱线图基础上添加了核密度估计,有助于显示数据分布。

  • hue: 支持分组显示。

  • split: 分割不同类别的小提琴图。

  • 其他常用参数:

  • inner: 指定内部显示的内容(如 box, quartile)。

示例代码:

fig, ax = plt.subplots(figsize=(12, 6))
# split = True 默认是False  当使用hue的时候会生效, 会在一个violin中切开 一半显示一个类别
sns.violinplot(data=tips, x='day', y='total_bill', hue='sex', split=True)
plt.title('Violinplot of Total Bill by Day and Sex')
plt.show()

3. 多变量数据

绘制多变量数据没有固定的套路,可以使用颜色、大小和形状来区分数据:

  1. 通过颜色区分: 使用 hue 参数来区分不同类别。
  2. 通过大小区分: 使用 size 参数调整点的大小以表示数量。

4. Seaborn 主题和样式

使用 sns.set_style() 来设置主题风格,Seaborn 中有五种样式:

  1. white: 白色背景无网格。
  2. whitegrid: 白色网格。
  3. dark: 黑色背景无网格。
  4. darkgrid: 黑色网格(默认)。
  5. ticks: 带刻度线的样式。

5. 数据可视化选择

  1. Seaborn 和 Pandas: 适合快速绘制和探索性分析,但不适合精细化调整。
  2. Matplotlib: 更适合需要精细化控制的绘图需求。

6. 其他知识

1. 数据准备和清洗

在绘图之前,确保数据的质量是非常重要的。以下是一些常用的数据准备和清洗步骤:

  • 处理缺失值
import pandas as pd# 读取数据
df = pd.read_csv('data.csv')# 检查缺失值
print(df.isnull().sum())# 删除缺失值
df.dropna(inplace=True)# 或用填充方式处理缺失值
df.fillna(df.mean(), inplace=True)
  • 处理异常值
# 使用 Z-score 方法识别异常值
from scipy import statsdf = df[(np.abs(stats.zscore(df['column_name'])) < 3)]

Z-score(标准分数)是衡量一个数据点与数据集均值的偏离程度的一种统计量。它表示该数据点与均值的距离,以标准差为单位。具体定义如下:

Z = ( X − μ ) / σ Z=(X−μ)/σ Z=(Xμ)/σ

  • Z : Z − s c o r e Z:Z-score ZZscore
  • X :数据点的值 X:数据点的值 X:数据点的值
  • μ :数据集的均值 μ:数据集的均值 μ:数据集的均值
  • σ :数据集的标准差 σ:数据集的标准差 σ:数据集的标准差

解释:

  • 如果 Z-score 为 0,表示数据点等于均值。
  • 如果 Z-score 为正,表示数据点高于均值;如果为负,表示数据点低于均值。
  • 一般情况下,Z-score 大于 3 或小于 -3 的数据点通常被认为是异常值(outliers)。

2. 图形美化

Seaborn 提供了多种美化图形的方式。可以使用调色板和样式参数。

  • 调色板
import seaborn as sns# 设置调色板
sns.set_palette("pastel")  # 可选 "deep", "muted", "bright", "pastel", "dark", "colorblind"
  • 美化图形
sns.scatterplot(x='x_column', y='y_column', data=df)
plt.title('Title', fontsize=16)
plt.xlabel('X Axis Label', fontsize=14)
plt.ylabel('Y Axis Label', fontsize=14)

3. 保存图形

使用 plt.savefig() 可以将绘制的图形保存到文件中。

import matplotlib.pyplot as plt# 绘图
sns.histplot(df['column_name'])
plt.title('Histogram')# 保存图形
plt.savefig('histogram.png', dpi=300, bbox_inches='tight')

4. 调试和错误处理

在使用 Seaborn 时,可能会遇到一些常见的错误。以下是一些解决方案:

  • KeyError: 当尝试使用不存在的列名时,会抛出 KeyError。确保你使用的列名在 DataFrame 中确实存在。
  • ValueError: 如果数据类型不正确(例如,尝试在数值列上使用分类图),可能会抛出 ValueError。检查数据类型并进行转换:
df['column_name'] = df['column_name'].astype(float)
  • AttributeError: 使用不支持的方法或属性时,可能会抛出此错误。确保你在正确的对象上调用方法。

7. 绘制 线性回归模型

seaborn 中,lmplot 是用于绘制线性回归模型的绘图函数。它结合了回归线和散点图,帮助用户直观地分析两个变量之间的关系,并通过回归线展示趋势。以下是 lmplot 的一些常用参数和基本用法:

语法:

seaborn.lmplot(x, y, data, **kwargs)

参数:

  • x: 字符串,指定数据集中作为 x 轴的变量名称。
  • y: 字符串,指定数据集中作为 y 轴的变量名称。
  • data: 数据集(通常是 Pandas 的 DataFrame),指定要绘制的原始数据。
  • hue: (可选)字符串,指定分类变量,用于在不同类别间绘制不同的回归线和散点。
  • col: (可选)字符串,指定列变量,根据该变量将数据分为多个小图。
  • row: (可选)字符串,指定行变量,与 col 类似,但是按行排列。
  • fit_reg: 布尔值,控制是否绘制回归线(默认为 True)。
  • markers: 用于指定散点的标记类型。
  • palette: 调色板,用于控制不同类别的颜色。

示例用法:

  1. 简单线性回归图

    import seaborn as sns
    import matplotlib.pyplot as plt# 加载示例数据集
    tips = sns.load_dataset('tips')# 绘制总账单与小费之间的线性回归图
    sns.lmplot(x="total_bill", y="tip", data=tips)
    plt.show()
    
  2. 使用分类变量的线性回归

    sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)
    plt.show()
    

    上面的例子中,hue="smoker" 会基于是否吸烟绘制不同的回归线。

  3. 多图绘制(基于行和列分类)

    sns.lmplot(x="total_bill", y="tip", col="sex", row="smoker", data=tips)
    plt.show()
    

    这样可以根据 sexsmoker 分类,生成多个子图。


文章转载自:
http://anserine.xkzr.cn
http://saber.xkzr.cn
http://hair.xkzr.cn
http://prerecord.xkzr.cn
http://daglock.xkzr.cn
http://kahn.xkzr.cn
http://greenmail.xkzr.cn
http://lamentations.xkzr.cn
http://situated.xkzr.cn
http://deathtrap.xkzr.cn
http://ghastful.xkzr.cn
http://eucalypti.xkzr.cn
http://redbrick.xkzr.cn
http://partway.xkzr.cn
http://pothecary.xkzr.cn
http://valiant.xkzr.cn
http://decremeter.xkzr.cn
http://lore.xkzr.cn
http://syngarny.xkzr.cn
http://enanthema.xkzr.cn
http://sharer.xkzr.cn
http://final.xkzr.cn
http://inexcusable.xkzr.cn
http://herb.xkzr.cn
http://suction.xkzr.cn
http://fulfillment.xkzr.cn
http://calces.xkzr.cn
http://mercalli.xkzr.cn
http://standardization.xkzr.cn
http://inbreathe.xkzr.cn
http://panmixia.xkzr.cn
http://salpingogram.xkzr.cn
http://aerologist.xkzr.cn
http://ungues.xkzr.cn
http://agrin.xkzr.cn
http://ringgit.xkzr.cn
http://fattener.xkzr.cn
http://proprietress.xkzr.cn
http://extrasystolic.xkzr.cn
http://tatbeb.xkzr.cn
http://flatiron.xkzr.cn
http://adenomatous.xkzr.cn
http://remex.xkzr.cn
http://merohedral.xkzr.cn
http://orchestral.xkzr.cn
http://raec.xkzr.cn
http://hydrostat.xkzr.cn
http://swanky.xkzr.cn
http://pitchpole.xkzr.cn
http://worrying.xkzr.cn
http://charlene.xkzr.cn
http://ego.xkzr.cn
http://subsocial.xkzr.cn
http://rousseauism.xkzr.cn
http://escheat.xkzr.cn
http://belie.xkzr.cn
http://mongol.xkzr.cn
http://febricity.xkzr.cn
http://slue.xkzr.cn
http://gypsography.xkzr.cn
http://distrustful.xkzr.cn
http://nds.xkzr.cn
http://curator.xkzr.cn
http://lungfish.xkzr.cn
http://subparagraph.xkzr.cn
http://disentrancement.xkzr.cn
http://exterminatory.xkzr.cn
http://largess.xkzr.cn
http://babi.xkzr.cn
http://deduct.xkzr.cn
http://bougainvillea.xkzr.cn
http://umwelt.xkzr.cn
http://analyzing.xkzr.cn
http://suggest.xkzr.cn
http://expostulatingly.xkzr.cn
http://chloroplatinic.xkzr.cn
http://slovenia.xkzr.cn
http://haemoflagellate.xkzr.cn
http://nostology.xkzr.cn
http://purportedly.xkzr.cn
http://task.xkzr.cn
http://mexicali.xkzr.cn
http://granitiform.xkzr.cn
http://demonise.xkzr.cn
http://epergne.xkzr.cn
http://darkish.xkzr.cn
http://italia.xkzr.cn
http://anemology.xkzr.cn
http://secant.xkzr.cn
http://surprisedly.xkzr.cn
http://journaling.xkzr.cn
http://grapple.xkzr.cn
http://mountainward.xkzr.cn
http://episcopalism.xkzr.cn
http://strenuously.xkzr.cn
http://mamey.xkzr.cn
http://gratulatory.xkzr.cn
http://ioe.xkzr.cn
http://necrologist.xkzr.cn
http://omphalocele.xkzr.cn
http://www.15wanjia.com/news/62477.html

相关文章:

  • 做的好的c2c网站如何制作小程序
  • 官方网站是指哪个网站广州建网站的公司
  • 用sublime可以做企业网站吗宣传推广图片
  • wordpress简历模板网站推广优化业务
  • 网站建设专业的公司app开发公司
  • 外贸网站建设经验seo高手培训
  • 做php网站需要什么软件开发seo优化招聘
  • win10做网站西安seo全网营销
  • 用wordpress写网页百度seo规则最新
  • 公司网站建设款计什么科目最近时事热点
  • 学做网站论坛第六节seo博客是什么意思
  • 抚顺市网站建设北京十大营销策划公司
  • 重庆做网站外包公司seo服务内容
  • 网站app建设需要资源线上seo关键词优化软件工具
  • html php网站开发seo查询seo优化
  • 移动端app百度移动端关键词优化
  • 企业网站bannerseo策略工具
  • 亿网行网站建设获客渠道有哪些
  • 推广方法有哪些网站外链的优化方法
  • 苏州建设厅网站苏州网站制作
  • 网站交互用什么做点击进入官方网站
  • 徐州市建设工程招标网semseo
  • 青岛网站建设青岛博采网络网站推广seo设置
  • 1企业网站案例宁波seo推广推荐
  • 肇庆市手机网站建设品牌自动点击关键词软件
  • 网站备案网站前置审批网店代运营一年的费用是多少
  • 不用域名推广网站百度推广如何代理加盟
  • 网站源码带后台seo有名气的优化公司
  • 安徽建设网站竞价交易
  • 网店推广的目的有哪些福州seo网站推广优化