当我尝试使用ggplot在Shiny应用中渲染相关散点图时,出现以下错误:Failed to create Cairo backend!
output$model <- renderPlot({
k <- dataIn()
cormat <- round(cor(k),2)
library(reshape2)
melted_cormat <- melt(cormat)
wyk3 <- ggplot(data = melted_cormat, aes(x=Var1, y=Var2, fill=value))
return(wyk3)
})
这是我在控制台中看到的:
Warning: Error in Cairo: Failed to create Cairo backend!
128: Cairo
127: pngfun
126: startPNG
125: drawPlot
111: <reactive:plotObj>
95: drawReactive
82: origRenderFunc
81: output$model
1: shiny::runApp
我不知道可能是什么问题,其他ggplot散点图本身正在正确渲染,还使用常规Rscript中的x11()来显示散点图。
您能帮我一下,并解释我在做什么问题吗?
'> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Polish_Poland.1250 LC_CTYPE=Polish_Poland.1250 LC_MONETARY=Polish_Poland.1250
[4] LC_NUMERIC=C LC_TIME=Polish_Poland.1250
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] reshape_0.8.8 ggplot2_3.1.0 lattice_0.20-38 shiny_1.2.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 pillar_1.3.1 compiler_3.5.2 later_0.7.5 plyr_1.8.4
[6] bindr_0.1.1 tools_3.5.2 digest_0.6.18 jsonlite_1.6 tibble_2.0.1
[11] gtable_0.2.0 pkgconfig_2.0.2 rlang_0.3.1 rstudioapi_0.9.0 yaml_2.2.0
[16] bindrcpp_0.2.2 withr_2.1.2 dplyr_0.7.8 grid_3.5.2 tidyselect_0.2.5
[21] glue_1.3.0 R6_2.3.0 purrr_0.2.5 magrittr_1.5 scales_1.0.0
[26] promises_1.0.1 htmltools_0.3.6 assertthat_0.2.0 mime_0.6 xtable_1.8-3
[31] colorspace_1.3-2 httpuv_1.4.5.1 labeling_0.3 lazyeval_0.2.1 munsell_0.5.0
[36] crayon_1.3.4 Cairo_1.5-9
答案 0 :(得分:0)
我参加聚会迟到了。
通常,此错误是由于 ui 中的某些问题而发生的。
我解决这个问题的方法是在ui中放入以下代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://getbootstrap.com/docs/4.0/examples/floating-labels/floating-labels.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<title>TEST</title>
</head>
<body>
<form method="post" action="/form">
<div class="container-lg">
<div class="row">
<div class="card col-md-12">
<div class="card-header">
<h5>TEST TOP</h5>
</div>
</div>
</div>
<div class="row">
<div class="card col-md-6">
<div class="card-header">
<h5>TEST 1</h5>
</div>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#menu0">V1</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#menu1">V2</a>
</li>
</ul>
<div class="tab-content">
<div id="menu0" class="container tab-pane active"><br>
<h6>Test card 1 Tab 1</h6><p><br></p>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
<div class="form-floating mb-3">
<input type="text" class="form-control" id="test0">
<label for="test0">TEST XY</label>
</div>
</div>
<div id="menu1" class="container tab-pane fade"><br>
<h6>Test card 2 Tab 2</h6><p><br></p>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
<div class="form-floating mb-3">
<input type="text" class="form-control" id="test1">
<label for="test1">TEST ZY</label>
</div>
</div>
</div>
</div>
<div class="card col-md-6">
<div class="card-header">
<h5>TEST 2</h5>
</div>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" id="proviamo">
<a class="nav-link active" data-toggle="tab" href="#menu2">D1</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#menu3">D2</a>
</li>
</ul>
<div class="tab-content">
<div id="menu2" class="container tab-pane active"><br>
<h6>Test card 2 Tab 1</h6><p><br></p>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
<div class="form-floating mb-3">
<input type="text" class="form-control" id="test2">
<label for="test2">TEST AB</label>
</div>
</div>
<div id="menu3" class="container tab-pane fade"><br>
<h6>Test card 2 Tab 2</h6><p><br></p>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
<div class="form-floating mb-3">
<input type="text" class="form-control" id="test3">
<label for="test3">TEST CD</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="card col-md-12">
<div class="tab-content">
<div class="card-header">
<h5>Send All Value</h5>
</div>
<div class="card-body">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
<input type="submit" value="SEND" name="submit">
<p><br></p>
</div>
</div>
</div>
</div>
</div>
</form>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
</body>
</html>
。
使用 plotOutput('ggPlot',inline = F)
,我遇到了同样的错误。