FacetGrid.__init__() got an unexpected keyword argument 'size'
时间: 2023-09-30 14:09:59 浏览: 802
这个错误是因为在使用`FacetGrid()`函数时,传递了一个不支持的参数`size`。在最新版本的Seaborn库中,`size`参数已被弃用,应使用`height`参数代替。您需要将`size`参数更改为`height`参数即可解决此问题。
例如,使用`height`参数创建一个FacetGrid对象:
```
import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="time", row="smoker", height=3)
g.map(sns.scatterplot, "total_bill", "tip")
```
注意,`height`参数指定每个图形的高度,而不是整个FacetGrid对象的高度。
相关问题
上述代码报错FacetGrid.__init__() got an unexpected keyword argument 'ax',如何解决
这个错误是因为在`FacetGrid`初始化时,传入了一个不支持的参数`ax`。在旧版本的`seaborn`中,`FacetGrid`确实不支持`ax`参数。为了解决这个问题,可以使用`plt.subplots()`创建一个子图,并将其传递给`FacetGrid`的`ax`参数。修改代码如下:
```python
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
fig, axes = plt.subplots(3, 3, figsize=(15, 15))
z = 0
for i in range(3):
for j in range(3):
data1 = data.loc[:, [num_columns[z], 'y']]
f = pd.melt(data1, value_vars=num_columns[z], id_vars='y')
ax = axes[i, j] # 获取当前子图的对象
g = sns.FacetGrid(f, col='variable', hue='y', ax=ax)
g = g.map(sns.distplot, "value", bins=20)
z += 1
plt.tight_layout()
plt.show()
```
在这个修改后的代码中,我们使用`plt.subplots()`创建了一个包含多个子图的画布,然后通过`axes[i, j]`获取当前子图的对象,并将其传递给`FacetGrid`的`ax`参数。这样就解决了这个错误,并能够将生成的图展示在一张画布上。
WebDriver.__init__() got an unexpected keyword argument
根据提供的引用[1],错误原因是WebDriver的__init__()方法中出现了意外的关键字参数options。这通常是因为使用了不兼容的WebDriver版本或不正确的参数。建议检查WebDriver的版本和参数是否正确。
另外,根据提供的引用,AttributeError:'WebDriver'objecthasnoattribute'find_element_by_xpath',这通常是因为WebDriver对象没有find_element_by_xpath属性。建议检查代码中是否正确实例化了WebDriver对象,并且是否正确导入了相关的模块。
以下是一个可能的解决方案:
```python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 创建ChromeOptions对象
chrome_options = Options()
chrome_options.add_argument('--headless') # 无头模式
# 创建WebDriver对象
driver = webdriver.Chrome(options=chrome_options)
# 访问网页
driver.get('https://www.example.com')
# 查找元素
element = driver.find_element_by_xpath('//div[@class="example"]')
# 关闭浏览器
driver.quit()
```
阅读全文