我已获得维护代码。它最初用于旧的 Debian 8。 现在该代码将用于最新的 Debian 和 Windows 10。 使用子图 (matplotlib+pyqt5) 绘图时出现上述警告。请帮忙删除。 目前出现该错误,并且软件的选项卡中没有绘制任何内容。
相关代码如下:-
self.tabwidget = QWidget()
self.tabwidget.figure = plt.figure()
self.tabwidget.canvas = FigureCanvas(self.tabwidget.figure)
self.toolbar = NavigationToolbar(self.tabwidget.canvas, self.tabwidget)
self.layout = QVBoxLayout()
self.layout.addWidget(self.tabwidget.canvas)
self.layout.addWidget(self.toolbar)
self.tabwidget.setLayout(self.layout)
self.tabs.addTab(self.tabwidget, 'Sub Plot'+str(m))
self.timing_compare = self.project_information_dialogue.timing.currentText()
self.total_parameters =self.pcm_analysis_configure_plot_obj.line_object_list[m].len_parameters
type_one_subplot_zoom='false'
self.autoformat_Date_flag='false'
for i in range( self.total_parameters):
parameter=self.pcm_analysis_configure_plot_obj.line_object_list[m].config_data_objects[i].data_words
if(i==0):
row = self.tabwidget.figure.add_subplot( self.total_parameters ,1,i+1)
else:
if(parameter!=[] and type_one_subplot_zoom=='true'):
row = self.tabwidget.figure.add_subplot( self.total_parameters ,1,i+1,sharex=row)
else:
row = self.tabwidget.figure.add_subplot( self.total_parameters ,1,i+1)
#row.set_autoscaley_on(False)
# plt.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter("%H:%M:%S"))
if(parameter!=[]):
type_one_subplot_zoom='true'
param_label=self.pcm_analysis_configure_plot_obj.line_object_list[m].parameters[i]
if(len(param_label) > 15 ):
plot_label=param_label[:15]+'-\n-'+param_label[15:]
else:
plot_label=param_label
row.plot(self.pcm_analysis_configure_plot_obj.line_object_list[m].config_data_objects[i].time,parameter,'-',label=plot_label)
(min_val,max_val)=self.getting_max_min(parameter)
plt.ylim(min_val,max_val)
plt.legend(bbox_to_anchor=(1.0, 1), loc=2,prop={'size':8}, borderaxespad=0.)
elif(parameter==[]):
type_one_subplot_zoom='false'
self.autoformat_Date_flag='true'
row.annotate("No data for sub plot parameter : "+self.pcm_analysis_configure_plot_obj.line_object_list[m].parameters[i], xy=(0.2, 0.8))
if(self.autoformat_Date_flag != 'true'):
plt.gcf().autofmt_xdate()
plt.xlabel('time')
plt.xticks(rotation=10)
plt.tight_layout(rect=[0,0,0.85,1])
plt.savefig(self.path+'/'+'Sub Plot'+str(m)+'.png',bbox_inches='tight')
self.tabwidget.canvas.draw()
plt.close()
del(self.tabwidget.canvas)
del(self.toolbar)
del( self.tabwidget.figure)
del( self.tabwidget)
del(self.layout)
尝试更改代码,将 plt 替换为 row 等,但没有任何效果。