Allen-Steven 2021-04-30 11:18 采纳率: 100%
浏览 41
已采纳

关于python中plt制图的问题,如何将Bunch中高维度的数组可视化下?

x_dr.shape
(24261, 2)

数据其中 target有12类

N = 12
y = np.random.rand(N)

plt.scatter(x_dr[:,0],x_dr[:,1],c=y)
plt.show()

报错'c' argument has 2 elements, which is not acceptable for use with 'x' with size 24261, 'y' with size 24261.

  我已经将原高维度数组降维至2维数组,但是绘图时依旧需要我提供24261大小的Color值,有办法将color值设为target类型大小么?

 

  • 写回答

3条回答 默认 最新

  • CSDN专家-Yang 2021-04-30 11:30
    关注
    # 你数据中target应该是个分类变量吧, 直接用可以处理分类变量的作图就可以
    
    # 用pandas, 颜色需要是数值
    x_dr.plot.scatter(x='x轴变量',y='y轴变量',c='颜色变量')
    
    # 方法2 如果颜色是分类变量
    import seaborn as sns
    sns.scatterplot(x="x轴变量", # x轴
                    y="y轴变量",# y轴
                    hue="颜色变量",   # 颜色分类
                    palette='Spectral_r', # 调色盘
                    sizes=(10, 200),      # 大小区间
                    data=x_dr)
    # 方法3
    import pandas_bokeh
    x_dr.plot_bokeh.scatter(
        x="x轴变量",
        y="y轴变量",
        category="颜色",  # 作为分类的字段列
        title="")

    参考下这个:

    matplotlib画点-Python-CSDN问答

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制