使用Bokeh库进行绘图的Python内存泄漏

使用Bokeh库进行绘图的Python内存泄漏,python,memory,bokeh,Python,Memory,Bokeh,我有一个函数,它首先从外部文件读取数据,然后用bokeh绘图。问题是,如果我多次使用这个函数,每次都会消耗一点内存,所以过了一段时间内存就满了。所谓内存,我指的是python使用的内存,而不是显示图形的浏览器。下面的代码正在绘制函数内的数据 w=self.time_diff_calc(time_diff.split("_")[0]+time_diff.split("_")[1])*60*500 colors=["#C93434","#78AD32","#5E6069","#9651DB","",

我有一个函数,它首先从外部文件读取数据,然后用bokeh绘图。问题是,如果我多次使用这个函数,每次都会消耗一点内存,所以过了一段时间内存就满了。所谓内存,我指的是python使用的内存,而不是显示图形的浏览器。下面的代码正在绘制函数内的数据

w=self.time_diff_calc(time_diff.split("_")[0]+time_diff.split("_")[1])*60*500
colors=["#C93434","#78AD32","#5E6069","#9651DB","","","","","","","","","","",""]

#mids- middle of candlestick, span- height
mids = np.array((data1["open"] + data1["close"])/2)
spans = np.array(abs(data1["close"]-data1["open"]))

#inc- open<close, dec- open>close
inc = data1["close"]>data1["open"]
dec = data1["close"]<data1["open"]

##############the part that eats the memory###################

p = figure(x_axis_type="datetime",plot_width=1200)

data_time=data1["time"]
data_high=data1["high"]
data_low=data1["low"]

p.segment(data_time, data_high, data_time, data_low, color="black")

data_inc=data_time[inc]
data_dec=data_time[dec]
mids_inc=mids[inc]
mids_dec=mids[dec]
spans_inc=spans[inc]
spans_dec=spans[dec]

p.rect(data_inc,mids_inc , w, spans_inc, fill_color="#58AFD1", line_color="black")
p.rect(data_dec, mids_dec, w, spans_dec, fill_color="#FFFFFF", line_color="black")

###########################################################

p.title=self.name
p.grid.grid_line_alpha=0.3
save(p)
w=self.time_diff_calc(time_diff.split(“”)[0]+time_diff.split(“”)[1])*60*500
颜色=[“#C93434”、“#78AD32”、“#5E6069”、“#9651DB”、“、”、“、”、“、”、“、”、“、”、“、”、“]
#中间-烛台中间,跨度-高度
mids=np.数组((数据1[“打开”]+数据1[“关闭”])/2)
span=np.array(abs(data1[“关闭”]-data1[“打开”]))
#开放关闭公司
inc=data1[“关闭”]>data1[“打开”]

dec=data1[“close”]您的意思是创建绘图的python进程正在使用更多的内存吗?或者通过显示绘图的浏览器进程?我已经编辑了问题。。我的意思是,pythonI使用的内存也有同样的问题。我能找到它。这是objgraph的输出:时间戳552511+75610 dict 65030+6620 list 46936+4895 tuple 42418+3247 set 16205+1880 BlockPlacement 11650+1542 property value list 10146+1340 Series 9514+1260 SingleBlockManager 9514+1260 IntBlock 4077+540这是泄漏图。