我目前正在使用令人惊叹的包 svgPanZoom 开发一个闪亮的应用程序,我有两个问题仍未解决:
(1)是否可以动态自定义图形的大小。我尝试按照代码执行此操作(如https://stackoverflow.com/questions/33522860/svgplot-error-in-shiny):
library(shiny)
library(svglite)
library(svgPanZoom)
library(ggplot2)
library(plyr)
data.df <- data.frame(Plant = c("Plant1", "Plant1", "Plant1", "Plant2", "Plant2",
"Plant2"), Type = c(1, 2, 3, 1, 2, 3), Axis1 = c(0.2, -0.4, 0.8, -0.2, -0.7,
0.1), Axis2 = c(0.5, 0.3, -0.1, -0.3, -0.1, -0.8))
ui <- shinyUI(bootstrapPage(
svgPanZoomOutput(outputId = "main_plot")
))
server = shinyServer(function(input, output) {
output$main_plot <- renderSvgPanZoom({
p <- ggplot(data.df, aes(x = Axis1, y = Axis2, shape = Plant, color = Type)) + geom_point(size = 5)
svgPanZoom(p, controlIconsEnabled = T, width = 10, height = 16)
})
})
runApp(list(ui=ui,server=server))
但什么也没发生:(你有什么想法吗?
(2)你知道是否可以在此代码中包含定位器(如在 PlotOutput 中)
主要思想是在正交系统中绘制(细胞)图片,然后用户单击图片以定位细胞核。有时图片上的单元格非常小,因此用户可能需要缩放(这就是我使用 svgPanZoom 的原因)。因此,即使用户使用缩放,我想得到的 X 和 Y 也是整个正交归一化系统中的那些
我使用 svg-pan-zoom 缩放后查看了光标位置,但它似乎不是来自 R
非常感谢您的想法!
有一个愉快的星期天晚上!
查