数据可视化-3. 散点图

目录

1. 散点图适用场景分析

1.1 显示数据关系

1.2 识别异常值

1.3 展示数据分布

1.4 多维度分析

1.5 特定领域的应用

2. 散点图局限性

3. 散点图代码实现

3.1 二维散点图Python 源代码

3.2 二维散点图效果(网页显示)

3.3 三维散点图Python 源代码 

3.4 三维散点图(网页显示)


1. 散点图适用场景分析

        散点图通过点的位置和分布来展示数据之间的关系,这种直观性使得用户能够迅速理解数据的特征和规律。相比于其他复杂的图表类型,散点图更加简洁明了,易于被用户接受和理解。

        散点图具有很高的灵活性,可以根据数据的实际情况和分析需求进行定制。例如,可以通过调整点的颜色、形状和大小来展示不同的数据类别或维度,或者使用不同的坐标轴来展示不同的数据范围。此外,还可以结合其他可视化元素(如标签、网格线、趋势线等)来增强图表的可读性和信息量。

1.1 显示数据关系

        散点图最常用于展示两个变量之间的关系。通过点的位置和分布,用户可以直观地观察到两个变量之间是否存在某种关联、趋势或模式。

1.2 识别异常值

        散点图有助于用户快速识别出数据中的异常值或离群点。这些异常值可能是数据采集或记录过程中的错误,也可能是具有特殊意义的关键数据。通过观察散点图中偏离主要数据区域的点,用户可以进一步探索这些异常值的原因和影响。

1.3 展示数据分布

        散点图还可以展示数据的分布情况,包括数据的集中程度、分散程度以及是否存在聚类现象等。这些信息对于了解数据的整体特征和规律非常重要。

1.4 多维度分析

        虽然散点图主要用于展示两个变量之间的关系,但通过使用不同颜色、形状或大小的标记,用户可以同时观察多个指标之间的关系。这种多维度分析功能使得散点图在市场调研、客户分析、金融投资等领域具有广泛的应用。

        散点图也可以是三维的!

1.5 特定领域的应用

  • 生物学:研究人员可以使用散点图来分析生物样本的多个指标之间的关系,如基因表达量与生物表型之间的关联,或者药物剂量与治疗效果的关系。
  • 市场营销:企业可以利用散点图分析市场调研数据,如产品价格与销售量、广告投入与销售额之间的关系,以制定更有效的营销策略。
  • 金融投资:投资者可以使用散点图来分析股票的收益率与市场指数的关系,或者投资组合中不同资产的风险和收益关系。
  • 人力资源管理:企业可以使用散点图来分析员工的绩效与工作经验、培训时间等因素之间的关系,以制定更合理的人力资源管理策略。
  • 疾病研究:医学研究者可以使用散点图分析疾病的发病率与年龄、性别、生活习惯等因素之间的关系,以了解疾病的发病规律和危险因素。

2. 散点图局限性

        散点图在异常值识别中也存在一些局限性,如判断标准不一、缺乏统计依据、维度限制等。

3. 散点图代码实现

3.1 二维散点图Python 源代码

        Dash 模块是一个非常好用的模块!!!

import dash
from dash import html, dcc
import dash_bootstrap_components as dbc
import plotly.graph_objects as go
import numpy as np

def create_demo_charts():
    """
    创建演示用的各种基本图表
    返回一个包含多个图表的列表
    """
    # 创建示例数据
    x = np.linspace(0, 10, 100)
    y = np.sin(x)
    
   # 3. 散点图
    np.random.seed(42)
    random_x = np.random.randn(100)
    random_y = np.random.randn(100)
    scatter_fig = go.Figure(data=[
        go.Scatter(
            x=random_x, 
            y=random_y,
            mode='markers',
            marker=dict(
                size=8,
                color=random_x,
                colorscale='Viridis',
                showscale=True
            )
        )
    ])
    scatter_fig.update_layout(
        title='散点图示例',
        xaxis_title='X轴',
        yaxis_title='Y轴',
        template='plotly_white'
    )


    return [scatter_fig]


# 创建 Dash 应用,使用 Bootstrap 样式
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])

app.layout = html.Div([
    # 图表展示区域
    html.Div([
        html.H3("数据可视化展示", className="text-center mt-4 mb-3"),
        dbc.Row([
            dbc.Col(dcc.Graph(figure=create_demo_charts()[0]), width=6)
        ], className="mb-4"),
    ], style={"backgroundColor": "#f0fff4", "padding": "20px", "borderRadius": "10px"}),
    
    
], style={"padding": "20px"})

if __name__ == "__main__":
    app.run_server(debug=True, port=8051)

3.2 二维散点图效果(网页显示)

3.3 三维散点图Python 源代码 

import dash
from dash import html, dcc
import dash_bootstrap_components as dbc
import plotly.graph_objects as go
import numpy as np

def create_demo_charts():
    """
    创建演示用的各种基本图表
    返回一个包含多个图表的列表
    """
    # 创建示例数据
    x = np.linspace(0, 10, 100)
    y = np.sin(x)
    
    # 3. 3D散点图
    np.random.seed(42)
    random_x = np.random.randn(100)
    random_y = np.random.randn(100)
    random_z = np.random.randn(100)
    scatter_fig = go.Figure(data=[
        go.Scatter3d(
            x=random_x, 
            y=random_y,
            z=random_z,
            mode='markers',
            marker=dict(
                size=8,
                color=random_z,  # 使用z值作为颜色
                colorscale='Viridis',
                opacity=0.8,
                showscale=True
            )
        )
    ])
    scatter_fig.update_layout(
        title='3D散点图示例',
        scene=dict(
            xaxis_title='X轴',
            yaxis_title='Y轴',
            zaxis_title='Z轴'
        ),
        template='plotly_white'
    )

    return [scatter_fig]


# 创建 Dash 应用,使用 Bootstrap 样式
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])

app.layout = html.Div([
    # 图表展示区域
    html.Div([
        html.H3("数据可视化展示", className="text-center mt-4 mb-3"),
        dbc.Row([
            dbc.Col(dcc.Graph(figure=create_demo_charts()[0]), width=6)
        ], className="mb-4"),
    ], style={"backgroundColor": "#f0fff4", "padding": "20px", "borderRadius": "10px"}),
    
    
], style={"padding": "20px"})

if __name__ == "__main__":
    app.run_server(debug=True, port=8051)

3.4 三维散点图(网页显示)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南野栀子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值