wolfram-mathematica - 使用 BarChart[ ] 工具提示说明数据的来源

标签 wolfram-mathematica visualization

我目前正在可视化大型文本信息数据库(大约 108MB,分布在 307 个文本文件中)中的单词和短语频率。我的目标是找到一种方法来快速查看哪些文件是最相关的,并且采用具有视觉吸引力的格式(尽管该项目可能还会证明仅使用文本表示总是更清晰)。

现在我有以下内容:

SetDirectory["/MYMATHEMATICADIRECTORY/"];
filelist = FileNames[];
viewerCount1 = {0};
viewerCount2 = {0};
word1 = "freedom";
word2 = "liberty";
Do[
  searchDB = StringSplit[Import[filename]];
  AppendTo[viewerCount1, Count[searchDB, word1]];
  AppendTo[viewerCount2, Count[searchDB, word2]];
, {filename, filelist}]

list3 = Take[viewerCount1, {2, -1}]
list4 = Take[viewerCount2, {2, -1}]

FileNames[ ] 生成一个列表,例如:{"001ABbenevolat.txt-cleaned.txt"、"002abnature.txt-cleaned.txt"、"003aboriginaldocs.txt-cleaned.txt"、"004ABpresse.txt-cleaned .txt", "005acadian.txt-cleaned.txt", "006acadiedelile.txt-cleaned.txt","007acfa.txt-cleaned.txt"} [307 个条目除外,全部编号]。

list3 生成一个列表,例如:{0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 100, 2, 0, 0, 0, 10, 1 , 7, 0, 0, 0, 0, 23, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 9, 0, 1, 0, 1, 0 , 5, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 4, 0, 0, 0, 1, 11, 0, 2 , 0, 0, 2, 7, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 13,...} 等等。

命令:

BarChart3D[{list3, list4}, BarSpacing -> {0.5, 0}, ChartLayout -> "Grid"]

生成接近我想要的东西(将它们想象成竖起的文件夹)。但是,我想添加有意义的工具提示。默认情况下,它会出现频率。是否有一种快速的方法来包含频率所附的文件名以及频率?即显示“007acfa.txt-cleaned.txt -- 32”的工具提示,文件 7 中出现了 32 次?

最佳答案

举个例子,假设你的数据是这样的

list3 = RandomInteger[30, 30];
list4 = RandomInteger[30, 30];
filelist = Table["file " <> ToString[i], {i, 30}];

然后你可以做类似的事情

BarChart3D[{
  MapThread[Tooltip[#2, Row[{#, " -- ", #2}]] &, {filelist, list3}],
  MapThread[Tooltip[#2, Row[{#, " -- ", #2}]] &, {filelist, list4}]}, 
 BarSpacing -> {0.5, 0}, ChartLayout -> "Grid"]

编辑

另一种方法是使用LabelingFunction:

BarChart3D[{list3, list4}, 
 LabelingFunction -> 
  (Placed[Row[{filelist[[Last[#2]]], "  -- ", #1}], Tooltip] &), 
 ChartLayout -> "Grid", BarSpacing -> {0.5, 0}]

关于wolfram-mathematica - 使用 BarChart[ ] 工具提示说明数据的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958040/

相关文章:

performance - 更好的图形卡或更多的内核会使Mathematica更快吗?

wolfram-mathematica - 防止 "Plus"重新排列东西

wolfram-mathematica - 如何确定PlotRange包含所有图形?

r - R 中的子组箱线图

graph - Neo4j 图形可视化库

css - 仅当文本适合时,如何使用 d3.js 在 SVG 矩形中显示文本?

wolfram-mathematica - 数学中的消息生成

wolfram-mathematica - 如何在 Mathematica 中拥有可变参数列表

python - 属性错误 : module 'plotly' has no attribute 'plotly'

javascript - 具有固定布局的 d3.js 绘图网络