matplotlib一维散点分布图的绘制

本文介绍了如何使用matplotlib库在Python中绘制一维散点分布图,用于展示数据聚类后的标签分布。通过调整轴线可见性、设置坐标限制以及使用颜色映射,可以清晰地呈现不同类别样本的分布情况。代码示例展示了如何为每种类别创建单独的子图,并在统一画布上显示。

引言

本次的目标是绘制数据的一维散点分布图,应用场景是数据一维标签的聚类可视化,假定我们拥有原始的带标签数据 ( X , y ) (X,y) (X,y)其中 X X X为样本特征矩阵, y y y为对应样本的标签(连续值),通过聚类算法得到了 X X X的伪分类标签 y ^ , y ^ ∈ ( 1 , 2 , . . . , N ) \hat{y}, \hat{y}\in(1,2,...,N) y^,y^

### 使用 Matplotlib 绘制三维散点图 为了创建三维散点图,`mpl_toolkits.mplot3d`模块提供了必要的工具。下面是一个具体的实例,该实例展示如何利用随机生成的数据集构建一个简单的三维散点图[^1]。 ```python import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 导入用于3D绘图的Axes3D类 import numpy as np # 创建一些测试数据 np.random.seed(0) x = np.random.standard_normal(100) y = np.random.standard_normal(100) z = np.random.standard_normal(100) fig = plt.figure() ax = fig.add_subplot(projection='3d') # 添加3D轴 # 绘制散点图 scatter = ax.scatter(x, y, z) # 设置坐标轴标签 ax.set_xlabel('X Label') ax.set_ylabel('Y Label') ax.set_zlabel('Z Label') plt.show() ``` 上述代码片段首先导入了所需的库,并设置了随机种子以确保每次运行程序时都能得到相同的结果。接着定义了一个包含三个维度坐标的数组作为输入数据源。最后,在调用了`add_subplot()`方法的同时指定了参数`projection='3d'`来启用三维图形支持;之后便可以像平常一样使用`scatter()`函数绘制图表了[^2]。 #### 自定义颜色和大小 如果希望进一步增强图像的表现力,则可以通过调整节的颜色以及尺寸属性实现更加丰富的视觉效果: ```python colors = np.sqrt(np.square(x) + np.square(y) + np.square(z)) # 计算各到原的距离作为颜色依据 sizes = 50 * (z - min(z)) / (max(z) - min(z)) + 10 # 根据z值计算不同大小 scatter = ax.scatter(x, y, z, c=colors, s=sizes, cmap='viridis', alpha=0.6) fig.colorbar(scatter, shrink=0.5, aspect=5) # 显示颜色条 ``` 这里引入了两个新的变量——`colors` 和 `sizes` 来控制每个的颜色深浅及其显示面积。同时应用了色彩映射表(`cmap`)使整个画面看起来更为和谐统一。此外还增加了透明度设置 (`alpha`) 及配色栏以便于观察者理解各个数值所对应的实际意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值