2016-07-13 16 views
2

要因と折れ線グラフをプロットします。ここで私はこのグラフを作るために使用されるコードは次のとおりです。は、私はRで、このグラフに取り組んでいますR

par(mar = c(5,5,2,5)) 
    with(bedtimes, plot(trap, funestus, type="l", col="red3", 
       ylab=expression(italic(p))), 
       ylim=c(0,3)) 

    par(new = T) 
    with(bedtimes, plot(trap, bed, pch=16, axes=F, xlab=NA, ylab=NA, cex=1.2)) 
    axis(side = 4) 
    mtext(side = 4, line = 3, 'Proportion in bed') 
    polygon(bedtimes$bed,col=transp("gray", 0.3), border = NA) 

そして、ここでは、私が使用していたデータのdputです:

(removed) 

私のx軸が要因であるので、私はこれが発生していることを実感します数値ではありません。しかし、これを変更しようとすると(例えば、as.POSIXct(paste0("2016-07-12",bedtimes$trap))を使用すると、私はRが元々正しい順序でこれらの要素をプロットしていることを確かめなければならなかったので、私はあらゆる問題を引き起こしています)

どのように?私は最終的にこれに似たグラフが欲しい代わりにこれらのダッシュの 、(ただし、まったく同じではない)あなたのアイデアを与えるために:

graph

ありがとう

+0

試みは'レベル番号の代わりのラベル(とも 'タイプが= "L"'の代わりに '=あなたが望むものが線であればpch = 16') – Cath

+0

レベル番号はx軸の時間を意味しますか? –

+1

'trap'ではなく' as.numeric(trap) 'を意味し、軸に' levels(trap) 'というラベルを付けます。 – Cath

答えて

2

私が言ったように!コメント、あなたにしようとすることができますあなたの因子変数のレベルを使用する: `as.numeric(トラップ)を使用して

par(mar = c(5,5,2,5)) 
with(bedtimes, plot(as.numeric(trap), funestus, type="l", col="red3", 
        ylab=expression(italic(p))), 
        ylim=c(0,3)) 
par(new = T) 
with(bedtimes, plot(as.numeric(trap), bed, type="l", axes=F, xlab="", ylab=NA, cex=1.2)) 
axis(4) 
axis(side = 1, at=1:length(levels(bedtimes$trap)), levels(bedtimes$trap)) 
mtext(side = 4, line = 3, 'Proportion in bed') 
polygon(bedtimes$bed,col="gray", border = NA) 

enter image description here

+2

ありがとうございますが、これは左側のy軸とfunestus 。私は2つのy軸と別のプロットを使ってサンプル画像のようなプロットを作成したいと考えています –

+1

@SamuelHarper申し訳ありませんが、私はあなたのコードの最初の部分を取っていません。イメージは正確にあなたがtransparancyのあなたのパラメータを使用しているものではありません – Cath

+1

それはあなたにありがとうございます! 読みやすいように軸ラベルを回転させるにはどうすればよいですか?(これは既に私の質問に答えているので、これは完全にオプションです)。彼らはちょうど水平に合わせるには長すぎます。 –

関連する問題