2017-02-15 30 views
0

私はバイオリンプロットを作成するには、次のコマンドを使用しています:同じグラフ上の2つの異なる色のバイオリンプロット

fig = FF.create_violin(data, data_header='Number', group_header='Group', height=500, width=800, title= "Number of Videos Watched",colors='YlOrRd') 
    py.iplot(fig, filename= "Number of Videos Watched") 

は、私は私の選択の2つの色を使用します。私はそれをする方法を理解していないようです。誰かが私にそれをする方法を教えてもいいですか? ありがとうございます!

答えて

0

これはちょっと難しいですが、このexampleは良い出発点です。 2つのプロットのデータは、Pandas dataframeに保存されています。

まずこれらの数字

gr = numpy.random.choice(list(violins), Nr) 

からの選択が、その後の数字が異なって、それぞれの選択を変更されたランダムな値

y = numpy.random.randn(Nr) 

とランダムのリストを作成することができます。

for i, letter in enumerate(violins): 
    y[gr == letter] *= norm_params[i][1] + norm_params[i][0] 

とDATAFRAME

df = pd.DataFrame(dict(Score = y, Group = gr)) 

に割り当てられている、あなたは、例えば、独自の値を使用してデータを交換した場合、最終的DATAFRAMEが

fig = plotly.tools.FigureFactory.create_violin(df, data_header='Score', group_header='Group', colors='YlOrRd') 

をプロットしていますvalues1values2

#get the groups 
gr = ['Value1' for i in range(Nr)] 
gr.extend(['Value2' for i in range(Nr)]) 

#assign the values 
y = numpy.random.randn(2*Nr) 
y[0:Nr] = values1 
y[Nr:] = values2 

あなたがあなた自身のバイオリンのプロットを得ることができます。


ここには、2つのバイオリンプロットを作成する最小の例があります。

enter image description here

import plotly 
import numpy 
import pandas as pd 
plotly.offline.init_notebook_mode() 
Nr = 250 
violins = 'AB' 
y = numpy.random.randn(Nr) 
gr = numpy.random.choice(list(violins), Nr) 
norm_params = [(0, 1.2), (0.7, 1)] 

for i, letter in enumerate(violins): 
    y[gr == letter] *= norm_params[i][1] + norm_params[i][0] 
df = pd.DataFrame(dict(Score = y, Group = gr)) 

data_header = 'Score' 
group_header = 'Group' 

fig = plotly.tools.FigureFactory.create_violin(df, data_header='Score', group_header='Group', colors='YlOrRd') 

plotly.offline.iplot(fig, filename='Two Violin Plots') 
関連する問題