# 绘制KDE图 f, axes = plt.subplots(3, 3, figsize=(10, 10), sharex=True, sharey=True) s = np.linspace(0, 3, 10) cmap = sns.cubehelix_palette(start=0.0, light=1, as_cmap=True) # 生成并绘制随机双变量数据集 x = food['胆固醇(每日参考值百分比)'].values y = food['钠(每日参考值百分比)'].values sns.kdeplot(x, y, cmap=cmap, shade=True, cut=5, ax=axes[0,0]) axes[0,0].set(xlim=(-10, 50), ylim=(-30, 70), title = '胆固醇和钠'),报错信息:OptionError: "No such keys(s): 'mode.use_inf_as_null'"
时间: 2024-01-29 13:03:31 浏览: 28
这个错误通常是因为您使用的Seaborn版本过低导致的。请升级您的Seaborn版本,方法如下:
```
!pip install seaborn --upgrade
```
或者,您可以尝试在导入Seaborn时显式地设置`mode.use_inf_as_null`参数,如下所示:
```
import seaborn as sns
sns.set(style="white", color_codes=True, rc={"mode.use_inf_as_null": True})
```
这样应该可以解决您的问题。
相关问题
# 设置子图 fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(15, 10)) # 绘制分布密度图 sns.histplot(data=data, x="PM2.5", bins=20, kde=True) sns.histplot(data=data, x="PM10", bins=20, kde=True) sns.histplot(data=data, x="SO2", bins=20, kde=True) sns.histplot(data=data, x="NO2", bins=20, kde=True) sns.histplot(data=data, x="CO", bins=20, kde=True) sns.histplot(data=data, x="O3", bins=20, kde=True) plt.show()优化这段代码,各可视化结果分别显示在子图中
以下是优化后的代码,其中每个子图都有标题,x轴标签和y轴标签:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_excel('北京市空气数据.xlsx',usecols=['PM2.5','PM10','SO2','NO2','CO','O3'])
# 设置子图
fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(15, 10))
# 绘制子图
sns.histplot(data=data, x="PM2.5", bins=20, kde=True, ax=axs[0,0])
axs[0,0].set_title("PM 2.5 Distribution")
axs[0,0].set_xlabel("PM 2.5")
axs[0,0].set_ylabel("Count")
sns.histplot(data=data, x="PM10", bins=20, kde=True, ax=axs[0,1])
axs[0,1].set_title("PM 10 Distribution")
axs[0,1].set_xlabel("PM 10")
axs[0,1].set_ylabel("Count")
sns.histplot(data=data, x="SO2", bins=20, kde=True, ax=axs[0,2])
axs[0,2].set_title("SO2 Distribution")
axs[0,2].set_xlabel("SO2")
axs[0,2].set_ylabel("Count")
sns.histplot(data=data, x="NO2", bins=20, kde=True, ax=axs[1,0])
axs[1,0].set_title("NO2 Distribution")
axs[1,0].set_xlabel("NO2")
axs[1,0].set_ylabel("Count")
sns.histplot(data=data, x="CO", bins=20, kde=True, ax=axs[1,1])
axs[1,1].set_title("CO Distribution")
axs[1,1].set_xlabel("CO")
axs[1,1].set_ylabel("Count")
sns.histplot(data=data, x="O3", bins=20, kde=True, ax=axs[1,2])
axs[1,2].set_title("O3 Distribution")
axs[1,2].set_xlabel("O3")
axs[1,2].set_ylabel("Count")
# 显示子图
plt.show()
```
f, ax = plt.subplots(figsize=(7, 5)) sns.despine(f) sns.distplot(df['Age'], bins=30)将边框颜色改为黑色
要将边框颜色改为黑色,需要使用`sns.despine()`函数,该函数可以去除图形的上、右边框,然后再使用`set_edgecolor()`方法将左、下边框颜色设置为黑色。具体实现代码如下:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 创建一个7x5的图形对象
f, ax = plt.subplots(figsize=(7, 5))
# 去除图形右、上边框
sns.despine(f)
# 绘制Age变量的直方图,并将边框颜色设置为黑色
sns.distplot(df['Age'], bins=30, hist=True, kde=False, rug=False, ax=ax)
for spine in ax.spines.values():
spine.set_edgecolor('black')
# 显示图形
plt.show()
```
在这个例子中,我们首先使用`sns.despine()`函数去除图形的右、上边框,然后使用`set_edgecolor()`方法将左、下边框颜色设置为黑色。最后,绘制Age变量的直方图,并将边框颜色设置为黑色。