LiHongCSBLab / SOAPy

MIT License
12 stars 1 forks source link

TypeError: can't multiply sequence by non-int of type 'float' #3

Open jiumeng-bit opened 6 months ago

jiumeng-bit commented 6 months ago

当我在运行各种sc.pl.spatial绘图命令,比如sc.pl.spatial(adata, img_key="hires", color=['domain', 'Ground Truth'])时,都会出现以下报错:

TypeError Traceback (most recent call last) Cell In[36], line 1 ----> 1 sc.pl.spatial(adata, img_key="hires", color='domain')

File /home/data/t010541/miniconda3/envs/SOAPy_st2/lib/python3.9/site-packages/scanpy/plotting/_tools/scatterplots.py:1009, in spatial(adata, basis, img, img_key, library_id, crop_coord, alpha_img, bw, size, scale_factor, spot_size, na_color, show, return_fig, save, *kwargs) 1006 cmap_img = None 1007 circle_radius = size scale_factor spot_size 0.5 -> 1009 axs = embedding( 1010 adata, 1011 basis=basis, 1012 scale_factor=scale_factor, 1013 size=circle_radius, 1014 na_color=na_color, 1015 show=False, 1016 save=False, 1017 **kwargs, 1018 ) 1019 if not isinstance(axs, list): 1020 axs = [axs]

File /home/data/t010541/miniconda3/envs/SOAPy_st2/lib/python3.9/site-packages/scanpy/plotting/_tools/scatterplots.py:394, in embedding(adata, basis, color, gene_symbols, use_raw, sort_order, edges, edges_width, edges_color, neighbors_key, arrows, arrows_kwds, groups, components, dimensions, layer, projection, scale_factor, color_map, cmap, palette, na_color, na_in_legend, size, frameon, legend_fontsize, legend_fontweight, legend_loc, legend_fontoutline, colorbar_loc, vmax, vmin, vcenter, norm, add_outline, outline_width, outline_color, ncols, hspace, wspace, title, show, save, ax, return_fig, kwargs) 391 # if user did not set alpha, set alpha to 0.7 392 kwargs['alpha'] = 0.7 if alpha is None else alpha --> 394 cax = scatter( 395 coords[:, 0], 396 coords[:, 1], 397 marker=".", 398 c=color_vector, 399 rasterized=settings._vector_friendly, 400 norm=normalize, 401 kwargs, 402 ) 404 # remove y and x ticks 405 ax.set_yticks([])

File /home/data/t010541/miniconda3/envs/SOAPy_st2/lib/python3.9/site-packages/scanpy/plotting/_utils.py:1109, in circles(x, y, s, ax, marker, c, vmin, vmax, scale_factor, *kwargs) 1106 # You can set facecolor with an array for each patch, 1107 # while you can only set facecolors with a value for all. 1108 if scale_factor != 1.0: -> 1109 x = x scale_factor 1110 y = y * scale_factor 1111 zipped = np.broadcast(x, y, s)

TypeError: can't multiply sequence by non-int of type 'float'

我该如何解决?

KaWingLee9 commented 5 months ago

Could you please show me the output of : adata.obs['domain']