plotly
  • violin-plot
  • 2017-02-15 5 views 0 likes 
    0

    Я использую следующую команду, чтобы создать скрипку сюжет:две различные цветные скрипичных участки на том же графике

    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") 
    

    Я хочу использовать два цвета моего выбора. Я не могу понять, как это сделать. Может ли кто-нибудь сказать мне, как это сделать? Спасибо !!!

    ответ

    0

    Это немного сложно, но это example дает хорошую отправную точку. Данные для двух графиков хранятся в Pandas dataframe.

    Первые позволяет создать список случайных значений

    y = numpy.random.randn(Nr) 
    

    и случайный выбор из этих чисел

    gr = numpy.random.choice(list(violins), 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') 
    

    Если заменить данные с собственными значениями, например values1 и values2

    #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 
    

    вы могли получить свои собственные скрипичные участки.


    Вот минимальный пример, который создает две скрипки.

    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') 
    
    Смежные вопросы