可视化: Python—MatPlotLib—一维散点图

文章目录

图示

在这里插入图片描述

代码

def plot_one_dim(x, id2Name=None, xLabel=None, yLabel=None):
    """
    功能: 绘制一维散点图
    输入:
        x:np,(N)          # 散点横坐标
        id2Name:dict,     # 散点标签
        xLabel:string,(1) # x轴标签
        yLabel:string,(1) # y轴标签
    """
    C = max(x) - min(x)
    fig = plt.figure(figsize=(10, 1))
    
    # 给Y坐标赋值为0
    N = len(x)
    y = np.zeros(N)
    
    
    # 绘制散点
    ax = fig.add_subplot(111, frameon=True, yticks=[])
    
    ax.spines['top'].set_visible(False)
    ax.spines['right'].set_visible(False)
    ax.spines['left'].set_visible(False)
    ax.scatter(x,y,c='g')
    ax.yaxis.set_ticks_position('left')
    
    # 生成散点标签, 绘制标签
    if id2Name is not None:
        titles = [id2Name[i] for i in range(N)]
        for i in range(N):
            ax.annotate(titles[i], (x[i], y[i]))
        
    # 将y坐标的0显示为yLabel
    if yLabel is not None:
        plt.yticks([0],[yLabel])
    
    # 显示xLabel
    if xLabel is not None:
        ax.set(xlabel=xLabel)
    
    # 设置y坐标轴范围
    plt.ylim((0, 2))
    
    
    plt.show()

使用

x = np.array([-0.8266125,  4.319269 ,  0.4226014, -3.9152584])
id2Name = {0: 'England', 1: 'N Ireland', 2: 'Scotland', 3: 'Wales'}

import numpy as np
import matplotlib.pyplot as plt
plot_one_dim(np.array(Y.view(-1)), id2Name, "PCA", "pca1")
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值