gpt4 book ai didi

python - 在 matplotlib pyplot 中将颜色图与 Iris 数据集一起使用会出现错误

转载 作者:行者123 更新时间:2023-12-01 01:44:56 25 4
gpt4 key购买 nike

我正在尝试使用 sklean 形式的 Iris 数据集来获取颜色图。当我使用 Seaborn 的数据集时,颜色图按预期工作,但我不知道为什么它不适用于 sklearn 集。有什么建议吗?

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# works
iris = sns.load_dataset('iris')
colors = {'setosa': 0, 'versicolor': 1, 'virginica': 2}
plt.scatter(x=iris.sepal_length, y=iris.sepal_width, c=[colors[i] for i in iris.species], cmap='viridis')
plt.show()

# does not work
from sklearn.datasets import load_iris
iris = load_iris()
plt.scatter(x=iris.data[:,[0]], y=iris.data[:,[1]], c=iris.target, cmap='viridis')
plt.show()

最佳答案

用于 x 和 y 坐标的数组的形状需要与用于颜色映射的数组的形状匹配。这里,x 和 y 数组的形状为 (150,1) ,而 c 数组的形状为 (150,) 。如果结果是一维数组,最好不要使用列表来索引数组,即使用 iris.data[:,0]而不是iris.data[:,[0]] :

plt.scatter(x=iris.data[:,0], y=iris.data[:,1], c=iris.target, cmap='viridis')

关于python - 在 matplotlib pyplot 中将颜色图与 Iris 数据集一起使用会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51477357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com