2016-07-29 6 views
0

本当に簡単な方法があると確信していますが、私の人生にとってはそれを理解できません。私はPlot_lyで散布図をしています。 私がプロットしている各点にラベルが割り当てられています。私の問題は、私は、各ラベルに割り当てる何色plot_ly修正するように見えることができないということです、ハイ、ロー、など高シグマ...ラベルに基づいて色をあわせてプロットする

enter image description here

を渡します。 私はPassを常にWhite、Highを常にGreenなどにしたいが、毎回ランダムに色を割り当てるように思われる。ここで

は私が年齢のため、この上で立ち往生してきたよう

 library("plotly") 
     p <- plot_ly(PT, 
      type='scatter', 
      x=XAVG, 
      y=YAVG, 
      mode= "markers", 
      marker=list(size=3,bgcolor="#e5e5e5"), 
      color = label, 
      colors=c("yellow","red","cyan","magenta",'blue',"green3","white"), 

      zeroline=F, 
      text=paste("MEAS = ",PT$MEAS,"Head_ID = ",substr(PT$SHD_ID,2,5))) 

すべてのヘルプははるかに高く評価されるだろうプロットするために使用しているコードです!

ありがとうございます!私はあなたのコメントで示唆されているように見えるよう色に対応するいくつかのラベルがPTlabel列を追加しましたので、

+0

plot_lyはどのパッケージに含まれていますか?それを見つけることができませんでした。 – Sia

+1

再生するための最小限のデータセットを提供できますか?例えば。オブジェクトPT、XAVB、YAVB。また、あなたが使用しているパッケージの情報を( "プロット")追加してください。 – Arcoutte

+0

@Arcoutteが提案するように、あなたのデータを共有してください。データフレームの画像をポストするのではなく、データセットに対してdput()を使用することができます。 – epo3

答えて

1

あなたはあなたのポストにlabelを説明したがlabelは、データから欠落しています。 PTは今です:

SHD_ID  MEAS  XAVG YAVG PPKLOW PPKUP PKSLOW PKSUP colour label 
1 1L3P1 0.300018 -5774.5 94350.5 FALSE FALSE TRUE FALSE blue Fail 
2 1LSP0 0.300018 14245.5 94350.5 FALSE FALSE TRUE FALSE blue Fail 
3 1L802 600.000000 -25024.5 94350.5 FALSE FALSE FALSE TRUE green3 Mean 
4 ILSOl 0.300018 -5004.5 94350.5 FALSE FALSE TRUE FALSE blue Fail 
5 1LSOO 0.300018 15015.5 94350.5 FALSE FALSE TRUE FALSE blue Fail 
6 1LSN2 600.000000 -24254.5 94350.5 FALSE FALSE FALSE TRUE green3 Mean 

コードは最初にあなたのラベルとあなたの色の間のマッピングを定義する名前の要素を持つベクトルとしてcolor_map作成します。その後、プロパティcolorに、color_maplabelに基づいて色を割り当てるプロットを作成します。 labelの値は、groupの作成にも使用され、ラベルへの色の割り当てが凡例に表示されます。色が見やすくなるようにマーカーを大きくしました。

# 
# create a map between colors and labels 
# colors ending in numbers are not recognized by plot_ly 
# 
    color_map <- c(Pass="yellow", High="red", Low= "cyan", 
       Sigma= "magenta", Mean='limegreen', Fail="blue", Median="violet") 
# 
# plot points using color_map to assign colors by label 
#  show label colors in legend 
# 
    p <- plot_ly(PT, 
       type='scatter', 
       x=XAVG, 
       y=YAVG, 
       mode= "markers", 
       marker=list(size=10, bgcolor="#e5e5e5", 
           color=color_map[label]), 
       group = label, 
       zeroline=FALSE, 
       text=paste("MEAS = ", MEAS,"Head_ID = ",substr(SHD_ID,2,5))) 
+0

これは素晴らしい作品です!どうもありがとうございます :) – Marcus

関連する問題