我正在尝试运行Python笔记本(link)。在In [18]:
行中,作者使用Seaborn
绘制了一些数据,我得到了一个错误
ValueError:“ c”参数包含12个元素,不适用于大小为0的“ x”和大小为0的“ y”。
在[18]中:
import seaborn as sns
# sales trends
sns.factorplot(data = train_store, x = 'Month', y = "Sales",
col = 'StoreType', # per store type in cols
palette = 'plasma',
hue = 'StoreType',
row = 'Promo', # per promo in the store in rows
color = c)
Seaborn版本:
seaborn==0.9.0
我在网上查看了有关此错误的信息,但找不到任何有用的信息。请指引我正确的方向。
更新
这是最少的测试代码
import pickle
import seaborn as sns
# seaborn==0.9.0
with open('train_store', 'rb') as f:
train_store = pickle.load(f)
c = '#386B7F' # basic color for plots
# sales trends
sns.factorplot(data = train_store, x = 'Month', y = "Sales",
col = 'StoreType', # per store type in cols
palette = 'plasma',
hue = 'StoreType',
row = 'Promo', # per promo in the store in rows
color = c)
答案 0 :(得分:1)
这是0.9.0版带来的更改。
在此版本中,不建议使用factorplot(隐式),并且已实现新的catplot(类别图)。您仍然可以在代码中使用factorplot,但是在内部它将使用相关参数调用catplot。
在catplot实现中,当使用类型“点”(带有代表组平均值的点的线)时,不能将“色相”和“ col”或“色相”和“行”作为相同的数据字段。 / p>
因此,您可以将代码更改为以下任一选项:
选项1:
get()
选项2:
/*
* (non-Javadoc)
* @see java.util.function.Supplier#get()
*/
default Stream<T> get() {
return stream();
}
答案 1 :(得分:0)
为了解决此问题,我必须进行以下更改
sns.factorplot(data = train_store, x = 'Month', y = "Sales",
row = 'Promo', # per promo in the store in rows
col = 'StoreType' # per store type in cols
)
答案 2 :(得分:0)
我做了一个简单的更改,并得到了想要的情节
sns.factorplot(data = train_store, x = 'DayOfWeek', y = "Sales",
col = 'Promo',
row = 'Promo2')
我只是放弃了色相和调色板参数。