🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1842閲覧

RstudioでheatmapにColSideColorsを追加したい

k-ta_watanabe

総合スコア1

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2020/11/27 13:21

前提・実現したいこと

現在使用しているヒートマップのスクリプトにColSideColorsを追加したい

発生している問題・エラーメッセージ

該当のソースコード

ht1 = Heatmap(mat1,
col=f1,
name = "z-score",
show_row_names=FALSE,
rect_gp = gpar(col = "grey60", lwd = 1),
cluster_columns = TRUE,
row_dend_width = unit(1.5, "cm"),
cluster_rows = FALSE,
width = unit(10, "cm"),
column_names_gp = gpar(fontsize = 8),
column_names_side = "top",
ColSideColors = c(rep("purple", 11), rep("orange", 7))
)
で実行すると

Heatmap(mat1, col = f1, name = "z-score", show_row_names = FALSE, でエラー:
使われていない引数 (ColSideColors = c(rep("purple", 11), rep("orange", 7)))
と表記される

試したこと

参照にしたスクリプトの1つである

heatmap(mat1, col=col,
ColSideColors = c(rep("purple", 11), rep("orange", 7)))

ではColSideColorsは実行されるが、
このスクリプトをcol=f1とすると
警告メッセージ:
image.default(1L:nc, 1L:nr, x, xlim = 0.5 + c(0, nc), ylim = 0.5 + で:
与えられた色が数値でも文字列でもありません
と出てしまう。

なお、両スクリプトともに
f1=colorRamp2(c(-2, 0, 2), c("royalblue", "floralwhite", "darkred"))

である

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Heatmap関数ではColSideColorsの代わりにtop_annotationを用います

R

1library(circlize) 2library(grid) 3library(ComplexHeatmap) 4f1=colorRamp2(c(0, 4, 8), c("royalblue", "floralwhite", "darkred")) 5f1 6mat1<- t(as.matrix(iris[1:18,1:4])) 7mat1 8df = data.frame(type = c(rep("a", 11), rep("b", 7))) 9ha = HeatmapAnnotation(df = df, col = list(type = c("a" = "purple", "b" = "orange"))) 10ht1 = Heatmap(mat1, 11 col=f1, 12 name = "z-score", 13 show_row_names=FALSE, 14 rect_gp = gpar(col = "grey60", lwd = 1), 15 cluster_columns = TRUE, 16 row_dend_width = unit(1.5, "cm"), 17 cluster_rows = FALSE, 18 width = unit(10, "cm"), 19 column_names_gp = gpar(fontsize = 8), 20 column_names_side = "top", 21 top_annotation = ha) 22ht1

http://bioconductor.riken.jp/packages/3.1/bioc/vignettes/ComplexHeatmap/inst/doc/ComplexHeatmap.html

投稿2020/11/28 08:03

shimiken

総合スコア368

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-ta_watanabe

2020/11/28 15:14

shimiken様 助かりました。 ありがとうございます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問