Matplotlib中Clicker组件的缩进异常问题求助
问题:PyQt6程序中Matplotlib Clicker组件无法正常工作
我自学Python/PyQt6/Qt Designer,在Visual Studio Code中开发了一款正RGB图像转真负片的程序。程序可绘制正输入与校正后负输出的曲线,用户能点击图表调整指定色调区域的明暗并生成新图。
主代码片段负责加载包含绘制用x输入、y输出列表的预设文件。原本用于记录点击的event_handler无法显示点击点,因此引入Clicker组件实现该功能。该组件在独立代码片段中运行正常,但插入主程序后失效:
- 独立代码中,
klicker被识别为(variable) klicker: clicker - 主程序中,
klicker被提示“未被访问” - 若将
klicker行的缩进回退一级,klicker识别恢复正常,但ax1又被提示“未被访问”
自行查阅资料未找到解决方案,恳请帮助。
主程序代码
class Guide_2(QMainWindow): def __init__(self): super().__init__() Preset, ok=QFileDialog.getOpenFileName() fName = Preset with open(Preset,"rb") as loaded_file: Xgrid,Ygrid,ax,ay,Dnsty=pickle.load(loaded_file) Y0=Ygrid[0];Y1=Ygrid[1];Y2=Ygrid[2];Y3=Ygrid[3];Y4=Ygrid[4];Y5=Ygrid[5];Y6=Ygrid[6];Y7=Ygrid[7] Y8=Ygrid[8];Y9=Ygrid[9];Y10=Ygrid[10];Y11=Ygrid[11];Y12=Ygrid[12];Y13=Ygrid[13];Y14=Ygrid[14] Y15=Ygrid[15];Y16=Ygrid[16];Y17=Ygrid[17] Ygrid=[Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17] P0=Xgrid[0];P1=Xgrid[1];P2=Xgrid[2];P3=Xgrid[3];P4=Xgrid[4];P5=Xgrid[5];P6=Xgrid[6];P7=Xgrid[7] P8=Xgrid[8];P9=Xgrid[9];P10=Xgrid[10];P11=Xgrid[11];P12=Xgrid[12];P13=Xgrid[13];P14=Xgrid[14] P15=Xgrid[15];P16=Xgrid[16];P17=Xgrid[17] Xgrid=[P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17] fig = Figure(figsize=(6, 6), dpi=100) fig = plt.figure() ax1 = fig.add_subplot(111) ax1.set_ylabel('Log Neg RGB') ax1.set_xlabel('Log Positive RGB') ax1.set_title('Plot1') ax1.set_xlim(3.3,4.95) ax1.set_ylim(4.95,3.3) ax1.plot(Xgrid,Ygrid) klicker=clicker(ax1,['event'], markers=['x']) plt.show()
独立测试代码片段
# Stand alone snippet fig = plt.figure() fig.subplots_adjust(top=0.8) ax1 = fig.add_subplot(1,1,1) ax1.set_ylabel('Neg RGB') ax1.set_title('Plot1') ax=[1,2,3,4,5] ay=[1,2,3,4,5] klicker=clicker(ax1,['event'], markers=['x']) ax1.plot(ax,ay) plt.show()
内容的提问来源于stack exchange,提问作者user27792357
相关产品推荐
相关产品推荐

