福尔摩斯和华生
获取作家阿瑟·柯南·道尔的与福尔摩斯有关的几本小说.
In[1]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_69.png)
novels = {Entity["Book", "TheSignOfTheFour1890"],
Entity["Book", "TheAdventuresOfSherlockHolmes"],
Entity["Book", "TheHoundOfTheBaskervilles"],
Entity["Book", "TheReturnOfSherlockHolmes1904"]};
In[2]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_70.png)
texts = EntityValue[novels, "Plaintext"];
找出两个主要角色被提到的次数.
In[3]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_71.png)
counts = WordCounts /@ texts;
In[4]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_72.png)
watson = counts[[All, "Watson"]];
holmes = counts[[All, "Holmes"]];
用全新 Callout 功能对结果绘图.
In[5]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_73.png)
callouts =
Callout @@@ Transpose[{Transpose[{holmes, watson}], novels}];
In[6]:=
![Click for copyable input](assets.zh/sherlock-vs-watson/In_74.png)
ListPlot[callouts, AxesLabel -> {"Holmes", "Watson"},
AspectRatio -> Automatic, AxesOrigin -> {0, 0}]
Out[6]=
![](assets.zh/sherlock-vs-watson/O_52.png)