線プロットの色と線の太さの推奨事項


31

一般に、マップ、ポリゴン、および陰影領域の色覚異常に優しい色の選択について多くのことが書かれています(たとえばhttp://colorbrewer2.orgを参照)。線グラフの線の色と線の太さの推奨事項を見つけることができませんでした。目標は次のとおりです。

  1. 線が絡み合っていても簡単に区別できます
  2. 線は色盲の最も一般的な形態を持つ個人によって簡単に区別できます
  3. (それほど重要ではない)行はプリンターに優しい(上記のColor Brewerを参照)

黒とグレーのスケールラインのコンテキストでは、細い黒のラインと太いグレースケールのラインを使用すると非常に効果的であることがわかりました。さまざまな色、グレースケールの程度、および線の太さを含む特定の推奨事項に感謝します。私はさまざまな線種(実線/点線/破線)が好きではありませんが、その意見から話をすることができます。

1つのグラフで最大10個の曲線を推奨することが望ましいでしょう。Color Brewerと同様に、m行の推奨がn行の推奨のサブセットではなく、n> mであり、mを1から10に変更できるようにすることをお勧めします。

:質問の線の色付け部分のみに対処するガイダンスも歓迎します。

一部の開業医は、異なるクラスをより明確に区別するために、数センチメートルごとにシンボルを線に追加します。クラスを区別するために複数の機能(色+シンボルタイプなど)を必要とすることはあまり好きではありません。また、異なる情報を示すためにシンボルを予約することもあります。

他のガイダンスがない場合、colorbrewer2.orgのポリゴンに推奨されているのと同じ色を線に使用し、線の幅を2.5倍するために、より明るく/濃い色で描画された線を提案します。これを設定するR関数を作成しています。醸造者の色に加えて、最初の2色を黒一色(薄い)とグレースケール(太い)にすると思いますが、薄い黒一色と薄い青であると主張できます。

R関数はhttp://biostat.mc.vanderbilt.edu/wiki/pub/Main/RConfiguration/Rprofileにあります。関数を定義したら、次のようにcolBrew入力して設定の動作を確認できます

showcolBrew(number of line types)  # add grayscale=TRUE to use only grayscale

グラフィックパラメータを新しい設定に設定する機能latticeSetも提供されlatticeます。アルゴリズムの改善を歓迎します。

調べるには:R dichromatパッケージ:http : //cran.r-project.org/web/packages/dichromat/


2
限られた数の線種が非常に役立つと思っていたでしょう。まだ言及されていないように見える別のオプションは、個々の測定にポイントマーカーを使用することです。たとえば、十字、ゼロ、アスタリスクなどです。
Robert Jones

1
私にとって、曲線が絡み合っている場合、ポイントマーカーは完全に効果的ではありません。しかし、非常にうまく機能するいくつかの例を見てきました。
フランクハレル14

回答:


21

ここでは挑発的になろうとしますが、これはほとんど不溶性の問題であるため、そのようなガイドラインが存在しないのではないかと思います。まったく異なる分野の人々は、「スパゲッティプロット」と異なるシリーズを区別する際に生じる問題についてしばしば話し合うことに同意しているようです。

具体的には、いくつかの個々の時系列の線の塊は、一般的なパターンをまとめて伝達し、時にはそのようなパターンとは異なる個々のシリーズを伝えることができます。

ただし、問題は、気になるアイデンティティがある場合に、個々の時系列をすべて区別することです。

2つまたは3つのシリーズがあるとすれば、シリーズの区別は通常それほど難しくありません。赤、青または黒の2つまたは3つの実線を使用する傾向があります。また、Hastieや友人が使用しているオレンジとブルーでプレイしました(@ user31264の回答を参照)。

ラインパターン(実線、破線、点線など)を変えると、限られた値しか見つかりませんでした。点線は肉体的および精神的に洗い流される傾向があり、点と破線のより微妙な組み合わせは、実際に成功するのとは対照的に、あまりにも微妙です(つまり、わずかに)。

あなたが10シリーズを持っているずっと前に、問題は噛みついていると思います。それらが非常に異なる場合を除き、5つ程度のシリーズは区別するのが大変な作業に似ている場合があります。一般的な心理学は、人々は異なるシリーズが異なる色および/または象徴性によって完全に示されるという原則を理解しているようですが、個々の線をなぞって頭の類似点と相違点について話をしようと努力する傾向がありません。これの一部は、多くの場合、凡例(またはキー)の使用に起因します。議論の余地はありますが、可能な限りグラフ上の異なるシリーズにラベルを付けようとします。ここでの私のモットーは、「可能であれば、伝説を失う、またはキーを殺す」です。

複数の時系列を表示する異なるアプローチが好きになりました。すべての異なる時系列は複数のパネルに繰り返し表示されますが、それぞれ異なるハイライトが強調表示されます。これは、1つの古いアイデア(a)小さな倍数(エドワードタフテがそれらを呼ぶ)と別の古いアイデア(b)一連の特定の関心を強調するものの融合です。順番にそれはちょうど別の古いアイデアが再発見されたかもしれませんが、これまでのところ、私は最近の参考文献しか見つけることができません。Statalistのこのスレッドの詳細。

色に関しては、強調されているものの背景にある時系列にグレーを使用することに積極的です。これは、出版する価値のあるほとんどのジャーナルと一致しているようです。

これが1つの実験です。データは、ロトムステッド1852-1925のBroadbalk Fieldsでの17プロットからの穀物収量であり、DFアンドリュースアンド1985年のAM(Eds)からのものです。ニューヨーク:スプリンガー、表5.1、さまざまな場所からダウンロード可能(例:リンクの説明をここに入力します。(詳細:そこにあるデータは毎年4行のブロックで提供されます。3行目と4行目はここではプロットされません。プロット識別子はそのテーブルでは明示的ではありません。)

この種のデータに関する専門知識はありません。私は、シリーズの長さやパネルの数の点で、(簡単に)些細なほど簡単に却下できない複数の時系列が必要でした。(数百、数千、...のパネルがある場合、このアプローチはあまり役に立たないでしょう。)私が想像しているのは、データ分析者が、おそらく主題の専門家と話し合って、さまざまな一般的でここでは一般的ではない行動であり、それによって洞察と情報を取得します。

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

明らかに、このレシピは他の多くの種類のプロットに使用できます(例:散布図または各サブセットが順番に強調表示されたヒストグラム)。いくつかの興味深いまたは有用な尺度または基準(たとえば、中央値または90パーセンタイルまたはSDによる)に従ってパネルを並べる。モデルの結果と生データ用。


2
サブセットプロットには非常に感銘を受けました。サンプルの出力画像を投稿に直接含めることができますか?私は、行数が異なるとして、それがどのように動作するかも興味が、これは間違いなく、私は〜10行のために見た中で最も満足のソリューションです
紙魚

@Silverfish励ましてくれてありがとう。1つの実験が追加されました。
ニックコックス14

1
ニック私は「ラベルを失う」-リモート凡例を最小限に抑える-と、一度に1つの曲線を強調表示して、他の曲線を暗くすることに完全に同意します。これはプレゼンテーションには最適なアイデアだと思いますが、スペースが限られているため、論文の発表にはあまり適していません。
フランクハレル

相互作用プロットはまもなく発行の標準になり、プロット内の行にカーソルを合わせてより多くの情報を取得できるようになります(行全体を強調表示したり、ツールチップを表示して詳細を表示したりできます)。
bdeonovic 14

1
@Frank Harrellスペースバイトの問題(1)個々のグラフパネルが小さくなりすぎて読みにくい場合、その場合、デザインのメリットは疑わしい。(2)ジャーナルまたは本の編集者が、価値があると思われる場合、通常よりも大きな図にもっと多くのスペースを割り当てるように説得できない場合。(おそらく他のポイントを念頭に置いていたでしょう。)
ニックコックス14

14

あなたが自分で答えた質問2と3-カラーブリューワーパレットが適しています。難しい質問は1ですが、ニックと同じように、間違った希望に基づいているのではないかと心配しています。線の色は、線を簡単に区別できるものではなく、線の連続性と曲がり具合に基づいています。したがって、プロットの解釈を容易にするのに役立つ、ラインの色または破線パターン以外のデザインベースの選択肢があります。

例として、限られた領域で多くの異なる形状の関数を近似するスプラインの柔軟性を示すフランクの図の1つを盗みます。

#code adapted from http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/rms.pdf page 40
library(Hmisc)
x <- rcspline.eval(seq(0,1,.01), knots=seq(.05,.95,length=5), inclx=T)
xm <- x
xm[xm > .0106] <- NA
x <- seq(0,1,length=300)
nk <- 6
set.seed(15)
knots<-seq(.05,.95,length=nk)
xx<-rcspline.eval(x,knots=knots,inclx=T)
for(i in 1:(nk1)){
  xx[,i]<-(xx[,i]−min(xx[,i]))/
  (max(xx[,i])−min(xx[,i]))
for(i in 1:20){
  beta<-2runif(nk1)−1
  xbeta<-xx%∗%beta+2runif(1)−1
  xbeta<-(xbetamin(xbeta))/
         (max(xbeta)−min(xbeta))
  if (i==1){
  id <- i
  MyData <- data.frame(cbind(x,xbeta,id))
  }
  else {
          id <- i
          MyData <- rbind(MyData,cbind(x,xbeta,id))
       }
  }
}
MyData$id <- as.factor(MyData$id)

現在、これは20行という非常に複雑な混乱を生み出しており、視覚化することは困難です。

library(ggplot2)
p1 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line()
p1

行の混乱

これは、ラップパネルを使用した同じサイズの小さな倍数の同じプロットです。パネル間で比較を行うのは少し難しくなりますが、縮んだスペースでも、線の形状を視覚化するのははるかに簡単です。

p2 <- p1 + facet_wrap(~id) + scale_x_continuous(breaks=c(0.2,0.5,0.8))
p2

20パネルすべて

Stephen Kosslynが彼の本の中で述べている1つのポイントは、それがプロットを複雑にする数の異なるラインではなく、ラインがとる形状の異なるタイプの数であるということです。20個のパネルが小さすぎる場合、同じパネルに配置するためにセットを同様の軌跡に頻繁に減らすことができます。パネル内の行を区別することは依然として困難であり、定義上、それらはそれぞれ近くにあり、頻繁に重なりますが、パネル比較を行う複雑さをかなり軽減します。ここでは、20行を任意に4つのグループに分けました。これには、線の直接ラベル付けが簡単で、パネル内のスペースが広いという利点もあります。

###############1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
newLevels <- c(1,1,2,2,2,2,2,1,1, 2, 3, 3, 3, 3, 2, 4, 1, 1, 2, 1)
MyData$idGroup <- factor(newLevels[MyData$id])
p3 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line() + 
             facet_wrap(~idGroup)
p3

削減されたパネル

あなたが何にも焦点を合わせないすべてに焦点を合わせた場合、状況に当てはまる一般的なフレーズがあります。10行しかない場合、(10*9)/2=45比較できる行のペアがあります。ほとんどの場合、45の比較すべてに関心があるわけではなく、特定の行を相互に比較するか、1つの行を残りの分布と比較することに関心があります。ニックの答えは後者をうまく示しています。背景の線を薄く、明るい色で、半透明にしてから、前景の線を明るい色で太くするだけで十分です。(デバイスについても、他の線の上に前景線を描画するようにしてください!)

もつれの中で個々の線を簡単に区別できるレイヤーを作成することははるかに困難です。地図作成で前景と背景を区別する1つの方法は、影を使用することです(良い例についてはDan Carrによるこの論文を参照してください)。これは10行までは拡大しませんが、2行または3行に役立ちます。以下は、Excelを使用したパネル1の軌跡の例です。

エクセルシャドウ

滑らかでない軌道を持っている場合、明るい灰色の線が誤解を招く可能性があるなど、他のポイントを作成する必要があります。たとえば、Xの形をした2つの軌跡、または1つの右側を上下にしたVの形をした2つの軌跡を描くことができます。同じ色を描画すると、線をトレースできなくなります。滑らかな線を使用した平行座標プロットの描画、またはポイントのジッタリング/オフセット(Graham and Kennedy、2003 ; Dang et al。、2010)。

したがって、設計のアドバイスは、最終目標とデータの性質に応じて変わる可能性があります。しかし、軌跡間で二変量比較を行うことが重要な場合、似たような軌跡をクラスタリングし、小さな倍数を使用すると、さまざまな状況でプロットを解釈しやすくなります。これは、色/線の組み合わせが複雑なプロットでどのような組み合わせよりも一般的に生産的だと感じています。多くの記事の単一パネルプロットは、必要以上に大きく、通常、ページの制約内で大きな損失なく4つのパネルに分割できます。


3
アンディ、これは素晴らしい。この特定のスプライン曲線の例では、5本の色を20本の線に割り当てて、互いに近い曲線に異なる色を割り当てるのと同じくらい効果的、またはさらに効果的だと思います。常に機能する距離メトリックはありませんが、通常、特定の状況で機能するメトリックがあります。あなたが言ったように、これはすべて滑らかさと曲がりくねりに依存します。
フランクハレル14

5

Trevor Hastie et alによる「統計的学習の要素」から。:

「私たちの最初の版は色覚異常の読者には不親切でした。特に、特に厄介な赤/緑のコントラストを好む傾向がありました。このエディションのカラーパレットを大幅に変更しました。 」

あなたは彼らのグラフを見たいと思うかもしれません。

破線、点線などを使用することもできます。


4

適切なデータの視覚化に関して、「線の太さ」についてはほとんど注意が向けられていません。おそらく、異なる線の太さを識別する能力は、色を識別する能力ほど可変ではありません。

いくつかのリソース:

  1. ハドリー・ウィッカム(2009)、ggplot:データ分析用のエレガントなグラフィックス、スプリンガー。サポートWebページがある
  2. 8推奨されるデータ視覚化に関する書籍リソース:http : //www.tableausoftware.com/about/blog/2013/7/list-books-about-data-visualisation-24182

いくつかのコース:

  1. Thomas Lumleyの生物統計学コースのため導入コンピューティングでグラフィックレクチャー
  2. 計算データ分析とグラフィックスに関するロスイハカの大学院コース
  3. Ross Ihakaの情報可視化に関する学部課程
  4. デボラノーランの学部課程のデータコンピューティングの概念
  5. ハドリーウィッカムのデータ視覚化コース

7
これは素晴らしいリソースのリストです。ただし、1つ以上の質問のうち、簡単に言及できる質問(線の太さ、色付きの線、多くの線がある場合)に関連する特定の推奨事項はありますか?
グレン_b-モニカの復帰2014

私はあなたの投稿をフォーマットする自由を取りました。構造が見やすくなると思います。気に入らない場合は、おwithび申し上げます。
GUNG -復活モニカ

2

この問題に対する独自の解決策はないことに同意しますが、このブログの推奨事項を使用します。

http://blogs.nature.com/methagora/2013/07/data-visualization-points-of-view.html

カラーに関する投稿では、色覚異常とグレースケール印刷の問題に取り組み、この両方の問題を解決するカラースケールの例を示しています。

同じ記事では、ヒートプロットなどで使用される連続カラースケールも分析されます。虹色を使用しないことをお勧めします。これは、いくつかの急激な遷移(黄色ゾーンのように、赤色よりもはるかに小さいため)代わりに、他の色のペア間で遷移を行うことができます。

この目的に適した色のセットは、青とオレンジです(クラシック!)。色盲フィルターとグレーフィルターを適用してテストを行い、違いに気付くことができるかどうかを確認できます。

線の太さについては、前述のブログの問題のいくつかがこの点に対処しています。線の数が多い場合は、同じ太さ、つまり「細い」線を使用する必要があります。そのオブジェクトに注意を喚起したい場合にのみ、太い線を使用してください。


1
「太線のみを使用する」に完全には同意しません。太い明るいグレースケールの線は、多くの場合非常に効果的です。
フランクハレル

1
確かにできます。目を引くスタイルを使用する場合、目的を持って使用する必要があることを意味します。
16年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.