html - 通过 Shiny 应用程序中的 Twitter 共享小部件将 ggplot 图像附加到推文
问题描述
我有一个闪亮的应用程序,其中包含一个小部件,用于与一些预加载的文本共享推文。它在应用程序上显示为一个按钮,上面写着“Tweet”,它发送位于代码的 tags$div 部分的数据文本行中的文本。我还希望能够在人们在线使用 Shiny 应用程序时创建的推文中包含 ggplot 图表的图像。
这甚至可能吗?我看到有人建议 Twitter 卡可能是一种选择,但我不熟悉这些,也不熟悉如何让一个人在这个工具中工作。
以下是我的最小代表。如果您想查看应用程序的完整形式,该应用程序托管在 ffevaluator.com/tools/draftevaluator 上。
用户界面:
ui <- fluidPage(
mainPanel(
plotOutput("draftPlot"),
tags$div(
HTML("<div style='float:right'>
<a href='https://twitter.com/share'
class='twitter-share-button'
align='middle'
data-url='www.mywebsite.com'
data-text='Insert text here!'
data-size='large'>Tweet
</a>
<script>!function(d,s,id){
var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
if(!d.getElementById(id)){
js=d.createElement(s);
js.id=id;
js.src=p+'://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js,fjs);
}
}(document, 'script', 'twitter-wjs');
</script>
</div>")
)) )
服务器:
server <- function(input, output) {
output$draftPlot <- renderPlot({
ggplot() +
geom_smooth() +
geom_point()
})
}
我还在 RStudio 社区网站上发布了这个(发布在这里:https ://community.rstudio.com/t/attach-ggplot-image-to-tweet-through-twitter-share-widget-in-shiny-app/67867 ) 但尚未收到任何回复。
解决方案
遗憾的是,Twitter 网络共享弹出窗口 ( twitter.com/share
) 无法包含图像。Twitter Card 的工作方式是,如果您在推文文本中共享指向静态网页的链接,并且该页面有一些包含图像的标记,那么图像将显示为链接的预览. 我不熟悉 Shiny 是否可以在这里工作。
推荐阅读
- c - 如果我无法在 if 条件中定义变量,如何减少在此代码中多次搜索我的数组?
- python-sphinx - 可以将多个段落替换为 reStructuredText 表格单元格吗?
- gcc - 线程程序使用 g++ 运行,但不使用 gcc
- php - 如何在以其他用户身份登录时编写代码以选择其他人的其他用户 ID
- c++ - gtk 图像突然不刷新没有任何错误或警告
- python - 函数式编程:如何将用python编写的斐波那契实现转换为haskell
- c# - 如何检查默认 SQL DateTime 值 C#
- c++ - 如何在创建对象时从 QML 调用任意 C++ 函数?
- python - 导入错误:无法导入 get_close_matches
- reactjs - 表单输入的值在 React 中提交时未更新