要約:ReporteRs
PowerPointレポート自動化ワークフローの一環として、rCharts
、具体的にはHighcharts
を使用することを最終的に目標しています。私が使用したいグラフの1つは、RstudioのViewerペインでhtmlとしてレンダリングされ、addPlot(function() print(myChart))
はPowerPointに追加されません。回避策として、私はmyChart
をディスクに保存しようと決めました。そこから、その方法でPowerPointに追加するだけでした。RStudioのViewerからディスク上の画像としてプロットを保存する方法は?
私の質問は本当にです。私のReporteRs
ワークフローに自分のhtmlイメージをどうやって取得できますか?どちらかをディスクに保存するか、それをReporteRs
で読めるようにすることで問題は解決します。
この質問は本当にthis oneと同じですが、私は、具体的例はhereを見つけ、rCharts
を使用しています:だから
#if the packages are not already installed
install.packages('devtools')
require(devtools)
install_github('rCharts', 'ramnathv')
#code creates a radar chart using Highcharts
library(rCharts)
#create dummy dataframe with number ranging from 0 to 1
df<-data.frame(id=c("a","b","c","d","e"),val1=runif(5,0,1),val2=runif(5,0,1))
#muliply number by 100 to get percentage
df[,-1]<-df[,-1]*100
myChart <- Highcharts$new()
myChart$chart(polar = TRUE, type = "line",height=500)
myChart$xAxis(categories=df$id, tickmarkPlacement= 'on', lineWidth= 0)
myChart$yAxis(gridLineInterpolation= 'circle', lineWidth= 0, min= 0,max=100,endOnTick=T,tickInterval=10)
myChart$series(data = df[,"val1"],name = "Series 1", pointPlacement="on")
myChart$series(data = df[,"val2"],name = "Series 2", pointPlacement="on")
myChart
私はそのエラーを取得する
> png(filename="~/Documents/name.png")
> plot(myChart)
Error in as.double(y) :
cannot coerce type 'S4' to vector of type 'double'
> dev.off()
をしようとした場合。
私は、Javascriptとphantomjs
に頼るように見えるmanyotherpotentialsolutionsとしてだけでなく、Highcharts documentationに見てきました。あなたの答えがphantomjs
に依存している場合、私はそれをどのように使用するかわかりません。 webshot
は、install_phantomjs()
関数をインクルードするように親切であることがわかった別のパッケージですが、私が見つけたものから、出力をShiny
オブジェクトにする必要があります。
私の質問は、それは、ハードドライブ上のファイルとして保存し、RmarkdownでHTML出力をしませ埋め込む方法であるため、this oneの重複されていない、本当にthis oneの複製です。
また、基本的に同じthis unanswered questionが見つかりました。
編集:@hrbrmstrと他のスコアで指摘されているように、レーダーチャートは常に最適な視覚化ツールとは限りません。私は自分自身がこのレポートのために1つを作ることを要求されることがわかった
'webshot'パッケージを使用してください。それをどのように行うのかの例がありますが、それはかなり簡単です: 'myChart $ save("/tmp/rcharts.html "); webshot :: webshot( "/ tmp/rcharts.html"、ファイル= "/ tmp/out.png"、遅延= 2) 'しかし、 'radarchart'パッケージを使うだけではどうですか? – hrbrmstr
'webshot'は' phantomjs'を使います。私はどんな良いものに見える 'radarchart'の出力も見ませんでした。私はちょうど 'ggradar'で持っていたバグが対処されたことを知りましたので、私は戻ってそのパッケージを試してみるかもしれません。 – BLT
はい、それはphantomjsを使用し、実際には 'install_phantomjs()'関数を持っています(ヘルプページを読む必要があります)。限り、レーダーチャートは(彼らは通常、恐ろしい視覚化の選択肢です) 'fsmb :: radarchart()' [[悪い仕事をしない]](https://www.dropbox.com/s/agmc0peh2xywky9/Picture1.png ?dl = 1)、rCharts(つまり、この投稿が生成するもの)よりも無限に優れている(視覚的に魅力的です)が、IMOの方がより良い選択肢があります。 – hrbrmstr