在一个窗口中有多个情节

时间:2017-06-12 16:02:47

标签: matplotlib seaborn

我需要在一个窗口中绘制许多这样的行(对于a0 .. a128)。我在FacetGridPairGrid和周围搜索过但找不到。只有regplot具有类似的参数ax,但它不会绘制直方图。我的数据是128个具有标签列[0,1]的实值特征。我需要将我的Python代码中的图形显示为Linux上的单独应用程序。

enter image description here

此外,还有一种方法可以缩放此直方图以显示Y上的相对值,使右曲线不会偏斜吗?

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

plt.show()

1 个答案:

答案 0 :(得分: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