我添加了2张图,一切正常,但我的第一个目标是添加一个小部件来为用户提供更改所需行数的可能性。
所以我尝试将小部件的输出与我可以绘制的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”文件。