来自widg的多返回函数

2024-09-28 20:47:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我添加了两个图形,一切正常,但我的第一个目标是添加一个小部件,为用户提供更改所需行数的可能性

所以我试着将小部件与我可以绘制的4个列表的分配联系起来。但我不能

这是我的密码:

import openpyxl as pyxl
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns 
from ipywidgets import *
import ipywidgets as widgets

wb = load_workbook(filename = 'ODBC_client_CF.xlsm')
wb.active = 1
sheet = wb.active

cells = sheet['E3':'I3000']

def f(x):
    var = x
    param1 = []
    for c1 in range (0,var) :
        c2 = cells[c1][0].value
        if c2 != None :
            param1.append(c2)

    param2 = []
    for c3 in range (0,var) :
        c4 = cells[c3][1].value
        if c4 != None : 
            param2.append(c4)

    param3 = []
    for c5 in range (0,var) :
        c6 = cells[c5][3].value
        if c6 != None :
            param3.append(c6)

    param4 = []
    for c7 in range (0,var) :
        c8 = cells[c7][4].value
        if c8 != None : 
            param4.append(c8)

    return (param1,param2,param3,param4)

if __name__ == '__main__':
    param1, param2, param3, param4 = interact(f,x=widgets.IntText(10))

plt.figure(1)

plt.subplot(211)
plt.plot(param1,param2)
plt.gcf().set_size_inches(18.5, 8) 

plt.subplot(212)
plt.plot(param3,param4)
plt.gcf().set_size_inches(18.5,8)

plt.show()

我正在使用openpyxl,但您可以使用一个5(列)、50(行)形状的表来进行实验,而不是使用我的“ODBC_client_CF.xlsm”文件


Tags: inimportnoneforifvaluevaras