2017-06-12 45 views
-2

我需要在单个窗口中绘制很多这样的行(对于a0 .. a128)。我在FacetGridPairGrid以及遍布各地搜索,但无法找到。只有regplot有类似的论点ax,但它不绘制直方图。我的数据是带有标签列[0,1]的128个实值特征。我需要从我的Python代码中将这些图形显示为Linux上的一个单独的应用程序。单个窗口中的多个图

enter image description here

此外,有规模这个柱状图显示Y上的相对值,使得右曲线不歪斜的方法吗?

g = sns.FacetGrid(df, col="Result") 
g.map(plt.hist, "a0", bins=20) 

plt.show() 
+0

这是一个有点不清楚您的环境和数据的模样。使用matplotlib的子图很容易。 FacetGrid可能会工作,这取决于你的数据框。关于你的标准化:matplotlib.hist需要'''density = True''',你应该可以把它发布到seaborn。 – sascha

+0

更新了答案。你有一个例子如何使用一些FacetGrid的子图吗?我没有通过那里的副图轴。 – VladimirLenin

+0

据我所知,FacetGrid应该取代次情节(整个subplot-thingy)。 **编辑:**啊,你想要FacetGrids的subplots ... ouch ...检查文档。我认为FacetGrid是一个图形对象(不是一个轴对象!),你会遇到问题。 – sascha

回答

1

只是一个简单的例子,使用matplotlib。代码没有经过优化(难看,但情节简单索引):

import numpy as np 
import matplotlib.pyplot as plt 

N = 5 

data = np.random.normal(size=(N*N, 1000)) 

f, axarr = plt.subplots(N, N) # maybe you want sharex=True, sharey=True 

pi = [0,0] 
for i in range(data.shape[0]): 
    if pi[1] == N: 
     pi[0] += 1 # next row 
     pi[1] = 0 # first column again 

    axarr[pi[0], pi[1]].hist(data[i], normed=True) # i was wrong with density; 
                # normed=True should be used 

    pi[1] += 1 

plt.show() 

输出:

enter image description here