gpt4 book ai didi

python - matplotlib 散点图甚至 x 和 y 抛出错误,表明它们不是

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:33 26 4
gpt4 key购买 nike

在尝试让基本的散点图代码工作时,我遇到了很多人谈论的问题:

错误:

ValueError: x and y must be the same size.

然而,我在这里找到的答案似乎并没有解决这个问题。这是代码。谁能发现我做错了什么?

数据:

import pandas as pd
iris = pd.read_csv('../week2/data/iris.csv')
iris.head()

产生这样的输出:

输出

散点图代码:

%matplotlib inline
import matplotlib.pyplot as plt

PetalLength = iris['Petal.Length']
PetalWidth = iris['Petal.Width']
plt.rcParams['figure.figsize'] = 8, 6
plt.scatter(iris, PetalWidth, PetalLength)
plt.show

我运行这段代码来查看错误似乎在说什么,但一切看起来都一样:

print(PetalWidth.shape, PetalLength.shape)
print(type(PetalWidth), type(PetalLength))
print(len(PetalWidth), len(PetalLength))

以上输出:

((150L,), (150L,))
(<type 'numpy.ndarray'>, <type 'numpy.ndarray'>)
(150, 150)

如果有帮助,请提供最终详细信息。我尝试根据我发现的 Stack Overflow 帖子将 PetalWidth 和 PetalLength 转换为列表,但这也无济于事。任何帮助我使此代码正常工作的指导都将不胜感激。

最佳答案

这篇文章的评论似乎包含了答案。虽然某些绘图类型需要传入数据集,然后 xy 是数据集中的字段,但散点图只需要 xy 参数,其中 x 和 y 是包含数据的等长数组。该错误很可能被抛出,因为整个数据集在您的示例中被视为 x,然后第二个参数(您认为是 x)被处理作为 y。在那个比较中,整个数据集的形状是触发错误的原因。

删除第一个参数(对于数据集)并查看问题是否消失。

对于以后偶然发现这篇文章的其他人,Stack Overflow 上的其他人遇到了传入 xy 的错误,其中 xy 不是数组。甚至有一篇帖子有人通过将 xy 转换为列表来解决问题,但这可能不是推荐的解决方案。最后,如果数组 xy 不包含相同数量的值(因此具有相同的长度),那么肯定会发生此错误。

关于python - matplotlib 散点图甚至 x 和 y 抛出错误,表明它们不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43109417/

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