繁体   English   中英

python函数中的小提琴图和plotly

[英]violin plot in python function and plotly

我创建了一个python函数来使用plotly绘制小提琴图。 该代码是:

    def print_violin_plot(data1,data2,type1,type2,fig_title):
        data = pd.DataFrame(columns=('Group', 'Number'))
        for i in data1:
            x = pd.DataFrame({'Group' : [type1],
                      'Number' : [i],})
        data = data.append(x, ignore_index=True) 
        for i in data2:
            x = pd.DataFrame({'Group' : [type2],
                      'Number' : [i],})
        data = data.append(x, ignore_index=True)  

       fig = FF.create_violin(data, data_header='Number',     
       group_header='Group', height=500, width=800, title= fig_title)
       py.iplot(fig, filename="fig_title")

然后我调用该函数

    print_violin_plot(eng_t['grade'],noneng_t['grade'],'English 
    Speaking','Non-English Speaking', 'Grades')

该函数运行正常,没有任何错误,但是我没有看到任何输出。 为什么?

当遍历data1data2 ,将pd.DataFrame新实例分配给变量x ,并且每次迭代都覆盖x 如果要附加pd.DataFrame的实例,则应将data.append(x)移至for循环。 另外, data.append()返回None,这是对data对象进行操作的方法,因此data = data.append(..)导致data == None 您的代码应如下所示

data = pd.DataFrame(columns=('Group', 'Number'))
for i in data1:
        x = pd.DataFrame({'Group' : [type1],
                  'Number' : [i],})
for i in data2:
        x = pd.DataFrame({'Group' : [type2],
                  'Number' : [i],})
        data.append(x, ignore_index=True) 

明确地说,我必须说我不知道pg.DataFrame含义或作用,但是我上面写的肯定是代码中的缺陷。 我假设pg.DataFrame实例支持append方法并像lists一样工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM