2017-03-19 9 views
1

トップカーブをプロットしようとすると、plt.hist()の出力をどのように隠すことになりますか?matplotlibのヒストグラム出力を隠す

data = {'first': np.random.normal(size=[100]), 
     'second': np.random.normal(size=[100]), 
     'third': np.random.normal(size=[100])} 

for data_set, values in sorted(data.items()): 
    y_values, bin_edges, _ = plt.hist(values, bins=20) 
    bin_centers = 0.5*(bin_edges[1:] + bin_edges[:-1]) 
    plt.plot(bin_centers, y_values, '-', label=data_set) 

legend = plt.legend() 
plt.show() 

enter image description here

同様の問題が、ループがありますので、私はちょうどプロットをクリアすることはできません。 Hide histogram plot

答えて

2

可能な方法リンゴのスライスを取得するのはもちろん、リンゴパイを準備し、後でパイからすべてのリンゴを選ぶことです。簡単な方法は、確かにケーキを作ることではないでしょう。

したがって、図でヒストグラムプロットを持たない明らかな方法は、まずそれをプロットすることではありません。代わりにnumpy.histogram(とにかくfunction called by plt.hist)を使用してヒストグラムを計算し、その出力を図にプロットします。

 
import numpy as np 
import matplotlib.pyplot as plt 

data = {'first': np.random.normal(size=[100]), 
     'second': np.random.normal(size=[100]), 
     'third': np.random.normal(size=[100])} 

for data_set, values in sorted(data.items()): 
    y_values, bin_edges = np.histogram(values, bins=20) 
    bin_centers = 0.5*(bin_edges[1:] + bin_edges[:-1]) 
    plt.plot(bin_centers, y_values, '-', label=data_set) 

legend = plt.legend() 
plt.show() 

enter image description here

1

方法の一つがゼロにアルファを設定することである。

y_values, bin_edges, _ = plt.hist(values, bins=20, alpha = 0)

秒がゼロにバーの充填と設定線幅を拒否することである。

y_values, bin_edges, _ = plt.hist(values, bins=20, fill=False, linewidth=0)

enter image description here

関連する問題