我正在使用散景来循环绘制100个图形文件。
for k in files:
# Read the log file data into a df.
log_file_name = str(k) + ".csv"
logged_data = pd.read_csv("csv/"+log_file_name, parse_dates=["dttm_utc"], date_parser=dateparse)
new_logged_data = logged_data.set_index("dttm_utc")
mean_data = new_logged_data.resample("3D", how=[np.mean])
# Extract the energy values and time stamps out into two ds.
energy_data = mean_data["value"]["mean"]
time_data = mean_data.index
# Plotting
output_file("csv/plots/" + log_file_name + ".html", title="Energy Consumption")
p = figure(width=1600, height=350, x_axis_type="datetime")
p.line(time_data, energy_data, color='navy', legend='energy')
#p.circle(time_data, energy_data, size=2, color='navy', alpha=0.2, legend='energy')
p.title = log_file_name + " INDUSTRY: " + i + " SUB-INDUSTRY: " + j)
p.title_text_font_size = '10pt'
p.legend.location = "top_left"
p.grid.grid_line_alpha=0
p.xaxis.axis_label = 'Time'
p.yaxis.axis_label = 'Energy (kWh)'
p.ygrid.band_fill_color="olive"
p.ygrid.band_fill_alpha = 0.1
save(p)
count += 1
print str(count) + " " + log_file_name
我注意到的是每个图形文件的大小都超过了之前的图形文件(请查看截图1)。
如果重新生成所有100个图形,则文件大小与上一次迭代不同(屏幕截图2)。
我还注意到一件奇怪的事情是,如果我重新启动我的Jupyter笔记本的内核,那么文件大小将重置为最少(屏幕截图3),如果我重复再生所有100个文件,它们会继续增加。
生成这些图表的样本数总是相同的,为什么文件大小不同?我忘了做某事,比如关闭档案?任何帮助!
答案 0 :(得分:2)
从Bokeh 0.11.1
开始,有时需要使用reset_output
函数明确清除输出:
from bokeh.plotting import reset_output
每次迭代:
reset_output()
答案 1 :(得分:0)
第一:
from bokeh.io import curdoc
然后在具有输出文件的绘图块之前,放入:
curdoc.clear()
这将清除您之前的所有图表。我愿意打赌,如果您在第一个文件之后查看任何文件,就会有多个情节。当我刚开始接触Bokeh时,我花了3个小时的研究才能弄清这一点!