我从WSJ找到了关于S& P500性能的非常吸引人的图表:
我正在尝试在R中重新创建它,但我不知道如何最好地绘制数据,例如
data<-data.frame(stock=c("A","B","C","D"),group=c(rep("Fin",2),rep("Ind",2)),Perf=rnorm(4,0,1),mvalue=abs(rnorm(4,100,50)))
有人知道如何重新创建它(例如使用ggplot2吗?)或者有没有人做过类似的情节? Thx提前。
答案 0 :(得分:3)
treemapify
是一个ggplot2解决方案,正如您所希望的那样。
https://github.com/wilkox/treemapify
结果很漂亮&amp;灵活 - 典型的ggplot2及其扩展。
答案 1 :(得分:2)
您正在寻找treemap
:
require(treemap)
treemap(data,c("group","stock"),"mvalue",vColor="Perf",type="value")
treemap
包中的这个示例也很有用:
data(GNI2010)
treemap(GNI2010,
index=c("continent", "iso3"),
vSize="population",
vColor="GNI",
type="value")
使用搜索词“treemap”,您可以找到更多信息,例如http://en.wikipedia.org/wiki/Treemap
答案 2 :(得分:2)
或portfolio
:
require(portfolio)
dt<-data.frame(ticker=paste0(sample(LETTERS,100,T),sample(LETTERS,100,T),sample(LETTERS,100,T)),
value=abs(rnorm(100,10000,4000)),
perc_change=rnorm(100,0,0.1),
group=sample(LETTERS[1:4],100,T)
)
rownames(dt)
map.market(dt$ticker,lab=c(T,T), area=dt$value, group=dt$group, color=dt$perc_change, main="Stock Map")