2016-10-14 5 views
2

私は、各行の下にPlots.jlで別々に領域を塗りつぶしました。ここに私のコード:各行の下の領域をPlots.jlで個別に塗りつぶす方法は?

using Plots; 
gr() 
Data = Tuple{Float64,Float64}[] 
p=plot([0.1,1.0],[1,1],fill=(0,:green)) 
push!(p,[1.6,1.8],[1,1]) 
push!(p,[2.2,2.5],[1,1]) 
push!(p,[3.2,3.5],[1,1]) 

が、これは動作しません:おそらくそれならば

result

がどのようにこれを正しく作りますか?

答えて

2

あなたが望むものは明確ではありませんが、私はあなたが長方形の領域をカバーしようとしていると思います。あなたはそれ以外の地域のグラフが途切れない緑豊かなエリアに得られた「データのギャップ」の上に参加します、あまりにも「ゼロの領域」を指定する必要があること

p=plot([0.1, 1.0], [1, 1],fill=(0,:green)) 
append!(p, 1, [1.0,1.6,1.6,1.8], [0,0,1,1]) 
append!(p, 1, [1.8,2.2,2.2,2.5], [0,0,1,1]) 
append!(p, 1, [2.5,3.2,3.2,3.5], [0,0,1,1]) 

注:ここではそれを行うための1つの方法です。 (「ゼロ」と「1」セグメントの代わりに1つのポイントだけを追加する場合と同じように、急峻な上昇ではなく線形の上昇を得ます)。

enter image description here

+0

ありがとうございます。関数の第2引数が必要なものについて説明してもらえますか? –

+0

私は本当にこれを使わないので自分自身を推測しているだけですが、どのプロットコンポーネントに追加したいのかを指定することだと思います。たとえば、 'plot!'コマンドを使用すると、最初のものの上に、同じ図の2番目のプロットオブジェクト/コンポーネントが作成されます。ですから、 'append! 'の2番目の引数は整数で、これはあなたが指定することができます。ウィンドウの最初のプロットに追加する場合、または上に作成した2番目のプロットの場合。 –

+0

ありがとう、それは理にかなっています。 –

関連する問題