【问题标题】:Plot specific column values in Seaborn instead of every column value在 Seaborn 中绘制特定列值而不是每个列值
【发布时间】:2020-11-26 05:09:29
【问题描述】:

我不知道如何过滤列然后在 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)

感谢您的帮助!

【问题讨论】:

  • 请展示你做过的情节
  • 根据您需要的列过滤数据集data[(data.column==value1) & (data.column==value2)]

标签: python pandas matplotlib filtering seaborn


【解决方案1】:

使用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
           )

           

【讨论】:

    猜你喜欢
    • 2020-04-05
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2021-05-19
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    相关资源
    最近更新 更多