zhengrongbin / MEBOCOST

A python-based package and software to predict metabolite mediated cell-cell communications by single-cell RNA-seq data
BSD 3-Clause "New" or "Revised" License
59 stars 10 forks source link

conflict colorbar #20

Closed alastark closed 5 months ago

alastark commented 5 months ago

Dear colleagues! I have a problem with library matplotlib. This code below: ebo_obj.commu_network_plot( sender_focus=[], metabolite_focus=[], sensor_focus=[], receiver_focus=[], and_or='and', pval_method='permutation_test_fdr', pval_cutoff=0.05, node_cmap='tab20', figsize='auto', line_cmap='bwr', line_color_vmin=None, line_color_vmax=None, linewidth_norm=(0.2, 1), node_size_norm=(50, 200), adjust_text_pos_node=True, node_text_hidden = False, node_text_font=10, save=None, show_plot=True, comm_score_col='Commu_Score', comm_score_cutoff=0, text_outline=True, return_fig=False ) It's problem: ----> 3 mebo_obj.commu_network_plot( 4 sender_focus=[], 5 metabolite_focus=[], 6 sensor_focus=[], 7 receiver_focus=[], 8 and_or='and', 9 pval_method='permutation_test_fdr', 10 pval_cutoff=0.05, 11 node_cmap='tab20', 12 figsize='auto', 13 line_cmap='bwr', 14 line_color_vmin=None, 15 line_color_vmax=None, 16 linewidth_norm=(0.2, 1), 17 node_size_norm=(50, 200), 18 adjust_text_pos_node=True, 19 node_text_hidden = False, 20 node_text_font=10, 21 save=None, 22 show_plot=True, 23 comm_score_col='Commu_Score', ... 1292 else [*ax] if np.iterable(ax) 1293 else [ax])[0].figure 1294 current_ax = fig.gca()

ValueError: Unable to determine Axes to steal space for Colorbar. Either provide the cax argument to use as the Axes for the Colorbar, provide the ax argument to steal space from it, or add mappable to an Axes. What do you think about this situation? Thank for the feedback!

Best regards Aleksandr

zhengrongbin commented 5 months ago

Hi Aleksandr,

people has been discussing the problem at https://github.com/matplotlib/matplotlib/issues/23973/. It seems the problem occurs for matplotlib version 3.6.0. Is this the version that you are using right now? I used version 3.5.1 when the MEBOCOST was developed. I will update and test MEBOCOST later. For now, you probably can try to downgrade matplotlib, or upgrade it. Please let me know if that works or not. Thanks!

alastark commented 5 months ago

Hi Zhengrongbin! I'm using version 3.8.3

alastark commented 5 months ago

Thank you Zhengrongbin! Installing version 3.5.1 helped!

Best regards Aleksandr