SPOTlight icon indicating copy to clipboard operation
SPOTlight copied to clipboard

Column `abs(coord_y - ymax)` is not found when plotSpatialScatterpie

Open xiang-cy opened this issue 1 year ago • 1 comments

hi, thanks for your great work! I had a error when I run plotSpatialScatterpie, please help me!! Thank a lot.

plotSpatialScatterpie(
  x = Day0_Young@images$Day.0.Young@coordinates[,c('imagerow','imagecol')],
  y = mat,
  cell_types = colnames(mat),
  img = FALSE,
  scatterpie_alpha = 1,
  pie_scale = 0.4) +
  scale_fill_manual(
    values = pal,
    breaks = names(pal))

Error in dplyr::group_by(): ! Must group by variables found in .data. ✖ Column abs(coord_y - ymax) is not found. Run rlang::last_trace() to see where the error occurred.

rlang::last_trace() <error/rlang_error> Error in dplyr::group_by(): ! Must group by variables found in .data. ✖ Column abs(coord_y - ymax) is not found.


Backtrace: ▆

  1. └─SPOTlight::plotSpatialScatterpie(...)
  2. └─ggplot2:::+.gg(...)
  3. └─ggplot2:::add_ggplot(e1, e2, e2name)
    
  4.   ├─ggplot2::ggplot_add(object, p, objectname)
    
  5.   └─scatterpie:::ggplot_add.layer_scatterpie(object, p, objectname)
    
  6.     ├─base::do.call(geom_scatterpie2, object)
    
  7.     └─scatterpie (local) `<fn>`(...)
    
  8.       ├─base::as.list(...)
    
  9.       ├─dplyr::group_split(dplyr::group_by(df, !!as.symbol(xvar), !!as.symbol(yvar)))
    
  10.       ├─dplyr::group_by(df, !!as.symbol(xvar), !!as.symbol(yvar))
    
  11.       └─dplyr:::group_by.data.frame(df, !!as.symbol(xvar), !!as.symbol(yvar))
    

Run rlang::last_trace(drop = FALSE) to see 2 hidden frames.

rlang::last_trace(drop = FALSE) <error/rlang_error> Error in dplyr::group_by(): ! Must group by variables found in .data. ✖ Column abs(coord_y - ymax) is not found.


Backtrace: ▆

  1. └─SPOTlight::plotSpatialScatterpie(...)
  2. └─ggplot2:::+.gg(...)
  3. └─ggplot2:::add_ggplot(e1, e2, e2name)
    
  4.   ├─ggplot2::ggplot_add(object, p, objectname)
    
  5.   └─scatterpie:::ggplot_add.layer_scatterpie(object, p, objectname)
    
  6.     ├─base::do.call(geom_scatterpie2, object)
    
  7.     └─scatterpie (local) `<fn>`(...)
    
  8.       ├─base::as.list(...)
    
  9.       ├─dplyr::group_split(dplyr::group_by(df, !!as.symbol(xvar), !!as.symbol(yvar)))
    
  10.       ├─dplyr::group_by(df, !!as.symbol(xvar), !!as.symbol(yvar))
    
  11.       └─dplyr:::group_by.data.frame(df, !!as.symbol(xvar), !!as.symbol(yvar))
    
  12.         └─dplyr::group_by_prepare(.data, ..., .add = .add, error_call = current_env())
    
  13.           └─rlang::abort(bullets, call = error_call)
    

xiang-cy avatar Dec 16 '24 09:12 xiang-cy

The author has removed the base method of this function, and coord_y no longer exists. You can either modify the package function using the definition from this GitHub file: https://github.com/MarcElosua/SPOTlight/blob/devel/R/plotSpatialScatterpie.R, or define a custom function to plot the data yourself.

sigmaming avatar Mar 25 '25 03:03 sigmaming