【问题标题】:matplotlib scatter Valueerror: 'c' argument has n elements, which is not acceptable for use with 'x' and 'y' with size mmatplotlib scatter Valueerror: 'c' 参数有 n 个元素,不能与大小为 m 的 'x' 和 'y' 一起使用
【发布时间】:2021-12-14 23:27:36
【问题描述】:

我正在尝试在 Python (Jupyter Notebook) 上使用 matplotlib 散点图来创建 t-sne 可视化,不同的点使用不同的颜色。

我很惭愧地承认我主要是借用了预先编写的代码,所以其中一些细微差别远远超出了我的范围。但是,我遇到了一个我似乎无法解决的 ValueError(即使在查看 Stack Overflow 上询问的类似 ValueErrors 实例的解决方案之后)。

运行散点图(此处为相关代码)返回 ValueError: RGBA 序列应具有长度 3 或 4;虽然这显然是由 ValueError 直接引起的:'c' 参数有 470000 个元素,这与大小为 2500 的 'x' 和 'y' 不一致。

if __name__ == "__main__":
    print("Run Y = tsne.tsne(X, no_dims, perplexity) to perform t-SNE on your dataset.")
    print("Running example on ECG samples...")
    X = np.loadtxt("ecg_test_tsne_randomremoved_tagremoved.txt")
    labels = np.loadtxt("ecg_test_tsne_randomremoved_tagremoved.txt")
    Y = tsne(X, 2, 50, 20.0)
    pylab.scatter(Y[:, 0], Y[:, 1], 20, labels)
    pylab.show()

这里,txt 文件是包含所有数据的文件。 完整的代码是 van der Maaten 的 Python 实现,如有需要,可以使用here

此外,它指出映射和 RGBA 转换都失败了(相当严重的失败),人们可能会欣赏详细的反馈。

我对这种状态感到非常困惑,因为即使在阅读了其他出现此 ValueError 的解决方案(如 Stack Overflow 上的详细说明)之后,我对于如何格式化“标签”以使 c 的尺寸可能匹配 x 和 y。

【问题讨论】:

    标签: python matplotlib jupyter-notebook valueerror tsne


    【解决方案1】:

    pyplot.scatter 的第四个参数是一种颜色或一组颜色,而不是标签。 scatter 没有标签参数。我将完全删除第 4 个参数。

    【讨论】:

      猜你喜欢
      • 2019-11-28
      • 2020-07-19
      • 2023-03-03
      • 1970-01-01
      • 2014-08-25
      • 1970-01-01
      • 2018-11-29
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多