在 python 中使用条形图时如何修复 AttributeError?
How to fix AttributeError when using barplot in python?
我正在尝试通过使用库 seaborn 从 python 中的一些数据中获取条形图。我的数据看起来像这样:
data_list = [[value_1, value_2, value_3, value_4], [1, 2, 3, 4]]
我现在正在尝试执行以下命令:
ax = sns.barplot(x = 'x_name', y = 'y_name', data = data_list)
不幸的是,我得到的不是条形图,而是以下行:
File "C:\Users\ (my name) \AppData\Local\Programs\Python\Python36-32\lib\site-packages\seaborn\categorical.py", line 146, in establish_variables
x = data.get(x, x)
AttributeError: 'list' object has no attribute 'get'
我该如何解决这个错误?我需要提供不同格式的数据吗?
您已将数据作为列表提供,但它需要一个字典
尝试更改您的代码
data_list = [[value_1, value_2, value_3, value_4], [1, 2, 3, 4]]
到
data_dict = {'value_1': 1, 'value_2': 2, 'value_3': 3, 'value_4': 4}
ax = sns.barplot(x = 'x_name', y = 'y_name', data = data_dict)
function documentation 指定数据可选参数需要是 DataFrame, array, or list of arrays
,而你的是列表列表。但是您也可以将单个数据数组直接传递给位置参数 x
和 y
:
ax = sns.barplot(data_list[0], data_list[1])
应该可以解决问题。
我正在尝试通过使用库 seaborn 从 python 中的一些数据中获取条形图。我的数据看起来像这样:
data_list = [[value_1, value_2, value_3, value_4], [1, 2, 3, 4]]
我现在正在尝试执行以下命令:
ax = sns.barplot(x = 'x_name', y = 'y_name', data = data_list)
不幸的是,我得到的不是条形图,而是以下行:
File "C:\Users\ (my name) \AppData\Local\Programs\Python\Python36-32\lib\site-packages\seaborn\categorical.py", line 146, in establish_variables
x = data.get(x, x)
AttributeError: 'list' object has no attribute 'get'
我该如何解决这个错误?我需要提供不同格式的数据吗?
您已将数据作为列表提供,但它需要一个字典
尝试更改您的代码
data_list = [[value_1, value_2, value_3, value_4], [1, 2, 3, 4]]
到
data_dict = {'value_1': 1, 'value_2': 2, 'value_3': 3, 'value_4': 4}
ax = sns.barplot(x = 'x_name', y = 'y_name', data = data_dict)
function documentation 指定数据可选参数需要是 DataFrame, array, or list of arrays
,而你的是列表列表。但是您也可以将单个数据数组直接传递给位置参数 x
和 y
:
ax = sns.barplot(data_list[0], data_list[1])
应该可以解决问题。