【发布时间】:2017-11-10 10:32:20
【问题描述】:
我一直在尝试构建机器数据的可视化,我正在使用 pandas 数据框来存储数据。我正在使用 for 循环来选择数据集的各个部分。我构建的可视化在 X 轴上有时间,因为可视化以毫秒为单位,所以图的宽度很长。
def jobwise_plotter(prog_no):
df = single_df[single_df['PRG_NO']==prog_no]
#fig1 = plt.figure()
#jobs_list = list(df['Job_no'].unique())
#tools_list = list(df['TOOL_No.'].unique())
for job in list(df['Job_no'].unique()):
df_temp = df[df['Job_no']==job]
time_axis_max = 0
for tool in list(df_temp['TOOL_No.'].unique()):
plt.plot(df_temp['Time'][df_temp['TOOL_No.']==tool],
df_temp['Spindle'][df_temp['TOOL_No.']==tool], label=str(tool))
if int(df_temp['Time'][df_temp['TOOL_No.']==tool].max()) > time_axis_max:
time_axis_max = int(df_temp['Time'][df_temp['TOOL_No.']==tool].max())
plt.title("Prog No. : "+ str(prog_no) + ", Job no : "+ str(job) + ", All Tools")
plt.xlabel("Time (in ms.)")
plt.ylabel("Spindle Load")
name = "prog_"+str(prog_no)+"_"+"JOB_"+str(job)+"_All_tools"
plt.xticks(np.arange(0, time_axis_max+10000, 5000))
plt.grid(linewidth = 2, linestyle = '-', color='#eff3f9')
lgd = plt.legend(loc='upper center', bbox_to_anchor=(0.5, 0.98), ncol=10)
plt.tight_layout()
fig1 = plt.gcf()
fig1.set_size_inches(100, 10)
#fig1 = plt.gcf()
print(name)
fig1.savefig(name, dpi=500, bbox_extra_artists=(lgd,))
plt.show()
代码运行良好,并在 IPython 笔记本中构建了必要的可视化,但无法查看保存的图像(现在三次冻结我的系统)。 可以存储的图像是否有任何限制?该图可在笔记本中查看,我们甚至可以从浏览器下载。
【问题讨论】:
-
如果显示预期和实际的结果会更好。此外,minimal, complete, and verifyable example 会更好,因为它无法复制。
-
我已经添加了预期的图像。无法查看代码生成的图片。
标签: python python-3.x pandas matplotlib