Wolfram 语言

更丰富的知识库访问

口袋妖怪的能力

Wolfram Knowledgebase 中包含了关于流行文化偶像以及科学知识等信息. 这里我们通过内置实体框架,对收藏的口袋妖怪的体格特征(攻击和防御值、体重、颜色)进行了研究、对比和可视化.

绘制所有口袋妖怪的攻击和防御值的分布图.

In[1]:=
Click for copyable input
PairedHistogram[EntityValue["Pokemon", "Attack"], EntityValue["Pokemon", "Defense"], ChartLabels -> {"attack", "defense"}, ChartStyle -> {{LightOrange, LightBlue}, None}]
Out[1]=

创建第六代口袋妖怪的攻击与防御值的 Dataset 并绘制对比图.

In[2]:=
Click for copyable input
stat = EntityValue[Entity[ "Pokemon", { "Generation" -> Entity[ "PokemonGeneration", "GenerationVI"]}], {"Attack", "Defense"}, "Dataset"];
In[3]:=
Click for copyable input
ListPlot[stat, PlotStyle -> Directive[Opacity[0.5], Orange, PointSize[Medium]], AxesLabel -> Automatic, LabelingFunction -> None]
Out[3]=

比较并绘制不同世代的口袋妖怪的平均体重.

In[4]:=
Click for copyable input
wg = Normal[ GroupBy[Rule @@@ EntityValue["Pokemon", {"Generation", "Weight"}], First -> Last, Mean]]
Out[4]=
In[5]:=
Click for copyable input
BarChart3D[wg[[All, 2]], ChartLegends -> wg[[All, 1]], ChartStyle -> 24]
Out[5]=

使用一个隐式定义的实体类找出最重的三个口袋妖怪.

In[6]:=
Click for copyable input
EntityList[EntityClass["Pokemon", {"Weight" -> TakeLargest[3]}]]
Out[6]=
In[7]:=
Click for copyable input
EntityList[EntityClass["Pokemon", {"Weight" -> TakeLargest[3]}]]; EntityValue[%, "Generation"]
Out[7]=

使用一个隐式定义的实体找出体重在 50 到 100 公斤间的黄色口袋妖怪.

In[8]:=
Click for copyable input
yellowMidweights = EntityList[ Entity["Pokemon", {"PokedexColor" -> "Yellow", "Weight" -> Between[{ Quantity[50, "Kilograms"], Quantity[100, "Kilograms"]}]}]]
Out[8]=

根据口袋妖怪角色的重量,创建拼贴图.

In[9]:=
Click for copyable input
ImageCollage[ Rule @@@ EntityValue[yellowMidweights, {"Weight", "Image"}], Background -> White]
Out[9]=

比较原版(第一代)口袋妖怪和最新版(第六代)之间的颜色.

显示完整的 Wolfram 语言输入
In[10]:=
Click for copyable input
{color1, color6} = Sort[Tally[EntityValue[EntityList[ Entity["Pokemon", { "Generation" -> Entity["PokemonGeneration", #]& }]], "PokedexColor"]]] & /@ {"GenerationI", "GenerationVI"};
In[11]:=
Click for copyable input
PieChart3D[{color1[[All, 2]], color6[[All, 2]]}, PlotLabel -> "Gen. I (outer) vs. Gen. VI (inner)", ChartElementFunction -> "ProfileSector3D", SectorOrigin -> {Automatic, 1}, ChartStyle -> (color1[[All, 1]] /. co_Entity :> Symbol[co[[2]]]), ChartLegends -> color1[[All, 1]]]
Out[11]=

相关范例

de en es fr ja ko pt-br ru