正常的图片一般是:
[AppleScript] 纯文本查看 复制代码 <img class="irc_mi" src="http://compgenomics2014.biology.gatech.edu/images/e/e1/Ucsc.jpg" alt="Image result for ucsc browser clean setting" width="819" height="461" style="margin-top: 82px;">
可以看到,里面的img的src是一个图片,
但是shiny里面的图片,鼠标滑过,或者你单击,它是给浏览器发送信息 了的。
比如下面代码:
[AppleScript] 纯文本查看 复制代码 library(shiny)
# A demonstration of clicking, hovering, and brushing
shinyApp(
ui = basicPage(
fluidRow(
column(width = 4,
plotOutput("plot", height=300,
click = "plot_click", # Equiv, to click=clickOpts(id="plot_click")
hover = hoverOpts(id = "plot_hover", delayType = "throttle"),
brush = brushOpts(id = "plot_brush")
),
h4("Clicked points"),
tableOutput("plot_clickedpoints"),
h4("Brushed points"),
tableOutput("plot_brushedpoints")
),
column(width = 4,
verbatimTextOutput("plot_clickinfo"),
verbatimTextOutput("plot_hoverinfo")
),
column(width = 4,
wellPanel(actionButton("newplot", "New plot")),
verbatimTextOutput("plot_brushinfo")
)
)
),
server = function(input, output, session) {
data <- reactive({
input$newplot
# Add a little noise to the cars data so the points move
cars + rnorm(nrow(cars))
})
output$plot <- renderPlot({
d <- data()
plot(d$speed, d$dist)
})
output$plot_clickinfo <- renderPrint({
cat("Click:\n")
str(input$plot_click)
})
output$plot_hoverinfo <- renderPrint({
cat("Hover (throttled):\n")
str(input$plot_hover)
})
output$plot_brushinfo <- renderPrint({
cat("Brush (debounced):\n")
str(input$plot_brush)
})
output$plot_clickedpoints <- renderTable({
# For base graphics, we need to specify columns, though for ggplot2,
# it's usually not necessary.
res <- nearPoints(data(), input$plot_click, "speed", "dist")
if (nrow(res) == 0)
return()
res
})
output$plot_brushedpoints <- renderTable({
res <- brushedPoints(data(), input$plot_brush, "speed", "dist")
if (nrow(res) == 0)
return()
res
})
}
)
你把这个代码在R里面运行就好了,可以看到:
而查看源代码,可以看到这个图片其实是大串字符:
字符如下:
[AppleScript] 纯文本查看 复制代码 <img src="data:image/png;base64,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" width="425" height="300" style="-webkit-user-drag: none;">
这样做的好处是别人无法爬虫下载你的图片了,你也不需要上传图床了,反正图片都被你字符化了。
O(∩_∩)O哈哈哈~
|