dre*_*ves 8 javascript charts visualization r data-visualization
假设我有一个大的对象列表(数千或数万),每个对象都标记有少量标记.有几十种或几百种可能的标签,它们的使用遵循典型的幂律:一些标签经常使用,但大多数很少见.事实上,除了最常见的几十个标签之外的所有标签通常都可以被忽略.
现在的问题是如何可视化这些标签之间的关系.标签云只是其频率的一个很好的可视化,但它忽略了哪些标签与其他标签一起出现.假设tag:bar仅出现在标记为foo的对象上.这在视觉上应该是明显的.类似地,三个标签倾向于一起出现.
您可以使每个标记成为一个气泡,让它们彼此部分重叠.从技术上讲,这是一个维恩图,但以这种方式处理它可能是笨拙的.例如,Google图表可以创建维恩图,但仅限3个或更少的集(标签):http:
//code.google.com/apis/chart/docs/gallery/venn_charts.html
他们将其限制为3套的原因是这样,它看起来很可怕.请参阅维基百科页面上的"更多数量的集合":http: //en.wikipedia.org/wiki/Venn_diagrams
但这只是在每个可能的交叉点都是非空的情况下.如果共同出现的标签不超过3个(可能是在丢弃稀有标签之后),那么维恩图的集合可以起作用(气泡的大小代表标签频率).
或者可能是具有视觉上更厚或更薄的边缘的图形(如在顶点和边缘中)以表示共现的频率.
你有任何想法,或指向工具或库的指针?理想情况下我会用javascript做这个,但我对R和Mathematica这样的东西或其他任何东西都很开放.如果有人好奇,我很乐意分享一些实际的数据(如果我告诉你它代表什么,你会笑).
附录:我最初想到的应用程序是TagTime,但我发现这也很好地映射了可视化一个美味书签的问题.
如果我正确理解你的问题,图像矩阵应该在这里很好地工作.我想到的实现是一个nxm矩阵,其中标记的项是行,每个标记类型是一个单独的列.矩阵中的每个单元格将完全由"1"和"0"组成,即,特定项目具有给定标签或者不具有给定标签.
在下面的矩阵中(我旋转了90度,因此它在这个窗口中更适合 - 所以列实际上代表标记的项目,每行显示所有项目中是否存在给定标记),我模拟了其中的场景有8个标签和200个标记的项目.,"0"是蓝色,"1"是浅黄色.
该矩阵中的所有值都是随机选择的(每个标记的项目是由两个标记组成的八个绘制,一个蓝色和一个黄色(分别没有标记和标记).所以毫不奇怪,这里没有模式的视觉证据,但是如果您的数据中有一个,这种技术很难实现,可以帮助您找到它.
我使用R生成并绘制模拟数据,仅使用基本图形(无外部包或库):
# create the matrix
A = matrix(data=r1, nrow=1, ncol=8)
# populate it with random data
for (i in seq(0, 200, 1)){r1 = sample(0:1, 8, replace=TRUE); A = rbind(A, r1)}
# now plot it
image(z=A, ann=F, axes=F, col=topo.colors(12))
Run Code Online (Sandbox Code Playgroud)
替代文字http://img690.imageshack.us/img690/3236/imagematrix01.png
| 归档时间: |
|
| 查看次数: |
5484 次 |
| 最近记录: |