1

ggplot2パッケージを使用してグラフィックを pdf LaTeX グラフィックに「変換」するためtikzDeviceに、軸の目盛りラベルを 2 つの間に入れたいと思い$ます。もちろん、目盛りラベルを手動で指定すればできますが、自動目盛りラベルを使用する場合はどうすればよいですか? (特に、x 軸に日付を使用する場合、ラベルを手動で指定するのは困難です)。

更新 - 軸ラベル フォーマッタを使用したソリューション

@agstudy の回答に基づいてdollarify()、数値ラベルのフォーマッタを作成しました。

dollarify <- function(){
    function(x) paste0("$",x,"$")
}

およびdatify()日付のフォーマッタ:

datify <- function(){
  function(x){
    split <- stringr::str_split_fixed(as.character(x),"-",3)
    out <- character(nrow(split))
    for(i in 1:length(out)){
      out[i] <- paste0("\\formatdate{", split[i,3], "}{", split[i,2], "}{", split[i,1], "}")
    }
    out
  }
}

datetimeパッケージで使用する LaTeX コードを生成します。

\usepackage[ddmmyyyy]{datetime}

以下は、x 軸に次のスケールを使用したレンダリングのスクリーンショットです。

scale_x_date(breaks="2 months", labels=datify())

ここに画像の説明を入力

4

2 に答える 2

3

あなたが何をしたいのかは明確ではありませんが、軸ラベルのフォーマッターを探していると思います。

## forma  :you can give here any date format 
dollar_date_format <- function (forma = "%H:%M"){
    function(x) paste0("$",format(x,forma),"$")
}

次に、いくつかのデータを使用して(次回は再現可能な例を提供してください)、次のように使用できます。

DF <- data.frame(time=Sys.time()+1:10,count=1:10)
library(ggplot2)
qplot(x=time,y=count,data=DF)+
    scale_x_datetime(labels = dollar_date_format(forma = "%M:%S"))+
    xlab("Time (dollars)") +
    theme(axis.text.x =element_text(size=20))

ここに画像の説明を入力

于 2013-12-02T12:08:10.673 に答える