我尝试使用我自己的标签为海运条形图与以下代码:
import pandas as pd
import seaborn as sns
fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]})
fig = sns.barplot(x = 'val', y = 'cat',
data = fake,
color = 'black')
fig.set_axis_labels('Colors', 'Values')
但是,我得到一个错误:
AttributeError: 'AxesSubplot' object has no attribute 'set_axis_labels'
怎么回事?
5条答案
按热度按时间azpvetkf1#
Seaborn的条形图返回一个轴对象(不是图形)。这意味着你可以做以下事情:
nr7wwzry2#
使用**
matplotlib.pyplot.xlabel
和matplotlib.pyplot.ylabel
**可以避免set_axis_labels()
方法带来的AttributeError
。**
matplotlib.pyplot.xlabel
设置X轴标签,而matplotlib.pyplot.ylabel
**设置当前轴的Y轴标签。解决方案代码:
输出数字:
bvjxkvbb3#
还可以通过添加title参数来设置图表的标题,如下所示
wfauudbj4#
另一种方法是直接在seabornplot对象中访问该方法。
产生:
ohfgkhjo5#
轴标签是列的名称,因此您可以在
barplot
调用中只使用rename
(或set_axis
)列:另一种方法是,由于
barplot
返回Axes对象,因此可以将set
调用链接到该对象。如果数据是一个panda对象,panda有一个
plot
方法,该方法有很多选项可以传递,从标题、轴标签到figsize。