Подтвердить что ты не робот

Как я могу наметить точки в этой диаграмме рассеяния?

Можете ли вы помочь мне поместить метки на следующий график?

http://img849.imageshack.us/img849/7594/snap1034.png

Используемый код:

valbanks<-scan("banks.txt", what=list(0,0,""), sep="", skip=1, comment.char="#")
valbanks

valj2007<-valbanks[[1]]
valj2009<-valbanks[[2]]
namebank<-valbanks[[3]]

percent_losses<-(valj2009-valj2007)/valj2007
percent_losses

abs_losses<-(valj2007-valj2009)
abs_losses

plot(abs_losses, percent_losses,main="Absolute Losses vs. Relative Losses(in%)",xlab="Losses (absolute, in miles of millions)",ylab="Losses relative (in % of January´2007 value",col="blue", pch = 19, cex = 1, lty = "solid", lwd = 2,text(percet_losses, abs_losses,namebank))

text(percet_losses, abs_losses,labels=namebank, cex= 0.7, offset = 10)

и данные:

Value_Jan_2007  Value_Jan_2009  Bank    #
49  16  Morgan_Stanley
120 4.6 RBS
76  10.3    Deutsche_Bank
67  17  Credit_Agricole
80  26  Societé_Generale
91  7.4 Barclays
108 32.5    BNP-Paribas
93  26  Unicredit
116 35  UBS
75 27   Credit_Suise
100 35  Goldman_Sachs
116 64  Santander
255 19  Citigroup
165 85  JP_Morgan
215 97  HSBC

Большое спасибо

Какая опция поставить ярлык внизу, справа, вверх, влево,...?

Подведение итогов: я хочу, чтобы график был похож на тот, который находится во втором сообщении этого сообщения но там нет кода.

Какой код мне нужно поставить?


если я положил text(percet_losses, abs_losses,namebank), я ничего не получаю: график продолжается без изменений.

Не могли бы вы показать мне код, который мне нужно поставить?

Спасибо

4b9b3361

Ответ 1

Ваш вызов text() не выводит ничего, потому что вы перевернули x и y:

plot(abs_losses, percent_losses, 
     main= "Absolute Losses vs. Relative Losses(in%)",
     xlab= "Losses (absolute, in miles of millions)",
     ylab= "Losses relative (in % of January´2007 value)",
     col= "blue", pch = 19, cex = 1, lty = "solid", lwd = 2)

text(abs_losses, percent_losses, labels=namebank, cex= 0.7)

Теперь, если вы хотите переместить ярлыки вниз, влево, вверх или вправо, вы можете добавить аргумент pos= со значениями соответственно 1, 2, 3 или 4. Например, чтобы поместить ваши метки вверх:

 text(abs_losses, percent_losses, labels=namebank, cex= 0.7, pos=3)

enter image description here

Конечно, вы можете указать вектор значения pos, если вам нужны некоторые метки в других направлениях (например, для Goldman_Sachs, UBS и Société_Generale, поскольку они перекрываются с другими метками):

 pos_vector <- rep(3, length(namebank))
 pos_vector[namebank %in% c("Goldman_Sachs", "Societé_Generale", "UBS")] <- 4
 text(abs_losses, percent_losses, labels=namebank, cex= 0.7, pos=pos_vector)

enter image description here

Ответ 2

Я попробовал пакет directlabels для размещения текстовых меток. В случае разброса графики он еще не совершенен, но намного лучше, чем вручную корректировать позиции, особенно в тех случаях, когда вы готовите черновики, а не финальные, - поэтому вам нужно менять и делать сюжет снова и снова.

Ответ 3

Для просто рисунка вектора вы должны использовать следующую команду:

text(your.vector, labels=your.labels, cex= labels.size, pos=labels.position)

Ответ 4

Вы должны использовать атрибут меток внутри функции plot, а значение этого атрибута должно быть вектором, содержащим значения, которые вы хотите для каждой точки.