python - 在 Seaborn 中绘制特定列值而不是每个列值
问题描述
我不知道如何过滤列然后在 Seaborn 上成功绘制它。
下面的代码完美地工作并绘制了一个所有唯一列值分开的折线图。
import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sns
sns.set(style='darkgrid')
data = wcsales1.loc[wcsales1.Sales_Year > 2016]
sales_year = data['Sales_Year']
ppa = data['Price_Per_Acre']
dates = data['LATEST_LAND_SALE_DATE']
juris = data['PLANNING_JURISDICTION']
sns.relplot(x = sales_year, y = ppa, ci=None, kind='line', hue=juris)
plt.show()
但是,我想绘制下面列出的变量“egs”中的值,它们是变量“juris”中许多唯一值中的两个
我尝试了下面的代码,但得到了一个值错误,也包括在下面。
import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sns
sns.set(style='darkgrid')
data = wcsales1.loc[wcsales1.Sales_Year > 2016]
data = data.reset_index()
sales_year = data['Sales_Year']
ppa = data['Price_Per_Acre']
dates = data['LATEST_LAND_SALE_DATE']
juris = data['PLANNING_JURISDICTION']
egs = ['HS', 'FV']
south = data.loc[data.PLANNING_JURISDICTION.isin(egs)]
print(type(south))
sns.relplot(x = sales_year, y = ppa, ci=None, kind='line', hue=south)
plt.show()
下面的错误
Shape of passed values is (19, 3), indices imply (1685, 3)
谢谢你的帮助!
解决方案
sns
你应该传递数据选项并作为数据x,y, hue
中的列:
sns.relplot(x='Sales_Year', y='Price_Per_Acre',
hue='PLANNING_JURISDICTION',
data=data.loc[data.PLANNING_JURISDICTION.isin(egs)],
kind='line', ci=None
)
推荐阅读
- r - 为什么在使用 pivot_wider 时会产生 NA 值?
- google-sheets - 如何组合 2 个查询导致来自 Google 表格的单个查询
- javascript - 如何在 asp.core MVC React 应用程序中注册 JS 引擎?
- python - django.db.utils.IntegrityError:安装夹具时出现问题
- java - 包含自身作为元素的 ArrayList 的哈希码
- python - 如何根据特定键比较python字典
- c++ - 执行用 C++ 编写的 .exe 的问题(使用 mingw 编译器)
- python - 将 DataFrame 中的每个唯一值重塑为列
- php - $row 将在此返回什么
- regex - 我如何将变量多行 perl 正则表达式与不同的规则匹配