1

これが私の.csvファイルです:

dateval,links
18/03/2013,100
19/03/2013,200
20/03/2013,300
21/03/2013,400
22/03/2013,500

このファイルはdate1という名前のオブジェクトに読み込まれ、これはデータをグラフ化するために使用しているコードです。

g_range <- range(0, date1$links)
plot(date1$links, type="o", col="blue", ylim=g_range,
    axes=FALSE, ann=FALSE)
axis(1, xlab=date1$links)
box()
title(main="Additions", col.main="red", font.main=4)
axis(2, las=1, at=50*0:g_range[2])
title(xlab="Date", col.lab=rgb(0,0.5,0))
title(ylab="# Links", col.lab=rgb(0,0.5,0))

生成されたグラフは次のとおりです。

ここに画像の説明を入力してください

日付値は出力されず、代わりに1〜5の数字が表示されます。.csvファイルに含まれる日付値を生成するようにコードを変更するにはどうすればよいですか?問題はこの行にあると思います:axis(1, xlab=date1$links)

4

1 に答える 1

1

代わりにこれを試してください:

axis(1,at=1:5,labels = date1$dateval)

したがって、注意深く見ると、引数?axisがまったくないことがわかりますが、2 番目と 3 番目の引数は次のようになります。xlab

at - 目盛りが描画されるポイント。非有限 (無限、NaN、または NA) の値は省略されます。デフォルトでは (NULL の場合) 目盛りの位置が計算されます。以下の「詳細」を参照してください。

labels - これは、目盛りに (数値) 注釈を付けるかどうかを指定する論理値、または目盛りに配置するラベルの文字ベクトルまたは式ベクトルのいずれかです。(他のオブジェクトは as.graphicsAnnot によって強制されます。) これが論理的でない場合は、at も同じ長さで指定する必要があります。強制後にラベルの長さがゼロの場合、TRUE を指定した場合と同じ効果があります。

しかし、実際には、次のようなことをもっと行う必要があるかもしれません。

date1$dateval <- as.Date(date1$dateval,format = "%d/%m/%Y")
plot(date1$dateval,date1$links, type="o", col="blue", ylim=g_range, ann=FALSE,axes = FALSE)
axis(1,at=date1$dateval,labels = date1$dateval)

しかし、それは、その目的のために特別に設計されたパッケージ/関数を使用する場合と比較して、日付のプロットを処理するための一種の粗雑な方法です。

于 2013-03-19T21:58:47.483 に答える