Pandas 使用seaborn切割x轴以生成多个图形?

Pandas 使用seaborn切割x轴以生成多个图形?,pandas,matplotlib,seaborn,Pandas,Matplotlib,Seaborn,下面的代码在绘制时看起来非常混乱。原因是我对“票价”有太多的评价“票价”的范围为[0-500],大多数值在前100之内 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt titanic = sns.load_dataset("titanic") y =titanic.groupby([titanic.fare//1,'sex']).survived.

下面的代码在绘制时看起来非常混乱。原因是我对“票价”有太多的评价“票价”的范围为[0-500],大多数值在前100之内

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt



titanic = sns.load_dataset("titanic")



y =titanic.groupby([titanic.fare//1,'sex']).survived.mean().reset_index()




sns.set(style="whitegrid")
g = sns.factorplot(x='fare', y= 'survived', col = 'sex', kind ='bar' ,data= y,
               size=4, aspect =2.5 , palette="muted")
g.despine(left=True)
g.set_ylabels("Survival Probability")
g.set_xlabels('Fare')
plt.show()
我想尝试将情节的“费用”分割成子集,但希望在一个屏幕上同时看到所有的图表。我想知道这是否可能,而不必求助于groupby。 我必须仔细研究“票价”的值,看看我希望每个图代表什么,但是对于一个示例,让我们使用将图分解为这些“票价”值

[0-18]
[18-35]
[35-70]
[70-300]
[300-500]
因此,由于与异性并列,一页上总共有10张图表

Seaborn有可能吗?我是否需要使用matplotlib进行大量配置?谢谢

实际上我写了一点。如果要绘制直方图,可以使用
by
关键字:

import matplotlib.pyplot as plt
import seaborn.apionly as sns

sns.set() #rescue matplotlib's styles from the early '90s

data = sns.load_dataset('titanic')
data.hist(by='class', column = 'fare')
plt.show()

否则,如果只是绘制值计数,则必须滚动自己的网格:

def categorical_hist(self,column,by,layout=None,legend=None,**params):
  from math import sqrt, ceil
  if layout==None:
    s = ceil(sqrt(self[column].unique().size))
    layout = (s,s)

  return self.groupby(by)[column]\
             .value_counts()\
             .sort_index()\
             .unstack()\
             .plot.bar(subplots=True,layout=layout,legend=None,**params)


categorical_hist(data, by='class', column='embark_town')

编辑如果您想要按票价范围计算生存率,您可以这样做

data.groupby(pd.cut(data.fare,10)).apply(lambda x.survived.sum(): x./len(x))

使用
pd.cut
定义分类车费箱,并将其用作“factorplot”中的一个分面变量。谢谢,我现在正在处理它。谢谢。但我如何在左侧(y轴)获得“生存能力”?有没有办法控制x轴的刻度,这样我就可以输入我希望图形除以的数字?顺便说一句,博客不错。我了解了关于“unstack”=)@moondra的直方图,您可以使用
箱子控制x轴,请参见我对票价范围的生存率编辑顺便问一下,您是如何在此处发布图表的图像的?您是否必须先保存图像,然后上传到网站,然后使用该链接?@moondra实际上,您可以在“上传图像”对话框中使用复制粘贴谢谢。我不知道有那么简单。