2013-07-16 4 views
0

Я сделал тепловую карту. Код я использовал:Тепловая карта в R, представление цветов и удаление оси x

heatmap(t(data.matrix(survey))) 

enter image description here

Я ничего на оси х не нужно. В участках, следующая команда удалит числа в оси х:

xaxt='n' 

Кроме того, если я хочу, чтобы добавить диаграмму в верхней части (которая рассказывает о представлении цветов - как желтый цвет означает более низкие значения и красный означает выше), как я могу это сделать? Я понятия не имею, поэтому даже не пытался. Единственное, что я могу придумать, это «масштаб», но это не сработало.

Наконец, я пытался изменить цвет (зеленый и красный), и для этого я использовал:

mycol = c("green","red") 
    heatmap(t(data.matrix(zscoreplus)),col=mycol) 

enter image description here В отличие от 1-го ПИК, нет цвета между ними. (У 1-го было намного больше разнообразия.) То, что я пытался получить, было красным, светло-красным, красновато-зеленым, зеленым, темно-зеленым и т. Д.

p.s. По какой-то причине gplots и heatmap.2 не установлены, и R не может найти эти пакеты.

+0

Что вы подразумеваете под своим p.s? Вы хотите базовое решение? – agstudy

+0

nvm ... найдено gplots. Thnx tho –

+1

-1 из-за отсутствия усилий. «Я понятия не имею, поэтому я даже не пытался» не очень впечатляет. StackOverflow помогает тем, кто демонстрирует, что они пытались помочь себе. Вам нужно сделать некоторые из ваших собственных исследований и проверить базовую документацию R. Даже googling «как установить пакет в R» дает вам много советов для пакетов intall, таких как 'gplots'. Также посмотрите [этот пост] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) за советом по правильному заданию вопросов. Вы задали четыре вопроса здесь, и никто, кажется, не слишком много думал. – SlowLearner

ответ

2

Вместо базовой функции heatmap() вы можете загрузить пакет gplots и использовать heatmap.2() - в вашем случае тот же синтаксис - для получения цветового ключа. Дайте мне знать, если у вас возникнут дополнительные вопросы по поводу пакета heatmap.2().

EDIT:

К сожалению, не читал, что вы не можете установить gplots. Это из-за ограниченных прав администратора?

К сожалению, heatmap() является видом ограниченного цвета.

Но для красного -> зеленого вопроса у меня есть решение для вас. Для того, чтобы создать свою собственную цветовую палитру, попробуйте

my_palette <- colorRampPalette(c("red", "green"))(n = 1000)

, а затем использовать его как цвет в вашей тепловой карте: heatmap(..., col = my_palette, ...)

Насколько важна кластеризация в вашем случае? Если вам не нужна кластеризация, вы можете использовать функцию levelplot() (поставляется с R), которая имеет приятное представление цветового ключа.

EDIT2: Что касается цвета «масштаб» проблемы. Я предположил, что вы имеете в виду что-то вроде легенды в соответствии с описанием в своем первом посте. Так что-то вроде на скриншоте ниже, что вы хотите?

enter image description here

EDIT3 Что касается рентгеновских меток: К сожалению, нет прямого варианта в heatmap.2(), чтобы превратить эти прочь. TH-x-метки - это colnames для вашей матрицы, в которую вы читали. В xlabel вы просто управляете общим описанием оси (по умолчанию она отключена).Вот скриншот, который показывает, что я имею в виду, когда xlabels используется:

enter image description here

Может быть, вы могли бы просто дать вашу матрицу пустым («») colnames. Это должно помочь. С другой стороны, я прошу просить вас об этом, но это не имеет смысла, если вы используете кластеризацию. Как вы узнаете, что это? Альтернативное решение состоит в том, чтобы просто обрезать область или код с pdf или svg после сохранения карты тепла. Не должно занимать более 5 секунд.

+0

Теперь, когда вы смогли установить 'gplots', вы также можете использовать' colorRampPalette'. Точно так же, как описано выше для «heatmap()». – Sebastian

+0

ОК. Я использовал heatmap.2() ... но все же я не знаю, как удалить x-метки и как добавить цветовую гамму. –

+0

Для вопроса о цветовой гамме: я добавил скриншот в разделе ответа. – Sebastian

1

Относительно ваших проблем с установкой gplots: Вы забыли кавычки.

требуют (gplots) Загрузка требуется пакет: gplots Предупреждение Сообщение: В библиотеки (пакет, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,: есть нет пакета называемые 'gplots'> install.packages (gplots) Ошибка в install.packages: объект 'gplots' не найдено - Айша Malik 8 мин назад

Попробуйте

install.packages("gplots", dependencies = TRUE)

+0

Да, я понял это. Благодарю. Попробуем gplot. Кластеризация важна в моем случае. –

+1

Приятно слышать. Вам понравится 'heatmap2()', синтаксис почти идентичен 'heatmap()', но имеет много дополнительных приятных функций. Если вы хотите узнать что-то конкретное, дайте мне знать. – Sebastian

Смежные вопросы