可视化: Python—MatPlotLib—二维图表

狂风中的少年 提交于 2019-11-26 22:37:58

文章目录

图示

在这里插入图片描述

代码


import numpy as np
import matplotlib.pyplot as plt

def plot_two_dim(x, y, id2Name, xLabel, yLabel):
    """
    功能: 绘制二维待标签散点图
    输入:
        x:np,(N)          # 散点横坐标
        y:np,(N)          # 散点纵坐标
        id2Name:dict,     # 散点标签
        xLabel:string,(1) # x轴标签
        yLabel:string,(1) # y轴标签
    """
    C = max(x) - min(x)
    R = max(y) - min(y)
    fig = plt.figure(figsize=(C, R))
    
    # 给Y坐标赋值为0
    N = len(x)

    
    # 生成散点标签
    titles = [id2Name[i] for i in range(N)]
    
    # 绘制散点
    ax = fig.add_subplot(111, frameon=True)
    
    ax.spines['top'].set_visible(False)
    ax.spines['right'].set_visible(False)
    ax.scatter(x,y,c='g')
    ax.yaxis.set_ticks_position('left')
    
    # 绘制标签
    for i in range(N):
        ax.annotate(titles[i], (x[i], y[i]))
        
    # 显示xLabel
    ax.set(xlabel=xLabel, ylabel=yLabel)
    
    plt.show()

使用

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

import numpy as np
import matplotlib.pyplot as plt
plot_two_dim(x, y, id2Name, 'pca1', 'pca2')
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!