今日能量:忍是一种眼光,忍是一种胸怀,忍是一种领悟,忍是一种人生的技巧,忍是一种规则的智慧。
软件安装包: gug8.top/?id=

软件介绍

Altair HyperWorks 2020是一款集成了工程仿真、优化和多物理场分析等功能的软件。它能够快速有效地解决各种复杂的工程问题,为工程师和设计人员提供高端的工程仿真和分析工具,帮助用户优化设计和提高产品性能和质量。

打开网易新闻 查看精彩图片

Altair 最让人着迷的地方是,它能够合理的选择颜色。如果我们在 Encoding 中指定变量类型为量化变量,那么 Altair 将会使用连续的色标来着色(默认为 浅蓝色-蓝色-深蓝色)。如果变量类型指定为类别变量,那么 Altair 会为每个类别赋予不同的颜色。(例如 红色,黄色,蓝色)

补充:Vega-Lite 有两种类型的类别变量:名义变量和序数变量。名义变量的集合中,各元素的排序阶数没有任何实际意义,例如大陆集合是欧洲,亚洲,非洲,美洲,大洋洲,他们的次序没有任何数值上的意义;序数变量的集合中,各元素的排序阶数是有实际意义的,例如亚马逊的评论可以是一星,二星,三星,四星或五星,星级的高低次序是由意义的。

让我们来看一个具体的例子,如下所示,我们组织了6个国家和它们所对应的人口数据,除此之外,还有相应的收入数据:

import pandas as pdimport altair as alt data = pd.DataFrame({'country_id': [1, 2, 3, 4, 5, 6], 'population': [1, 100, 200, 300, 400, 500], 'income': [1000, 50, 200, 300, 200, 150]})

复制

打开网易新闻 查看精彩图片

首先我们绘制每个国家的人口数据:

首先我们绘制每个国家的人口数据:"""As we mentioned before, we need to define 3 parameters: 1. Mark: We do this by using "mark_circle". 2. Channel: We only define an x-axis and we map it to the population. 3. Encodings: We define both variables as quantitative by using :Q after the column name""" categorical_chart = alt.Chart(data).mark_circle(size=200).encode( x='population:Q', color='country_id:Q')

复制

从上图可以看出,Altair 选择了连续色标,在本例中这是没有意义的。问题的根源在于,我们将 country_id 定义为量化变量,而实际上,它应该是一个类别变量,修改代码如下:

# We changed color='country_id:Q' to color='country_id:N' to indicate it is a nominal variablecategorical_chart = alt.Chart(data).mark_circle(size=200).encode( x='population:Q', color='country_id:N')

复制

从图中可以看到,每个国家都用了不同的颜色表示。我们仅仅改变了变量 country_id 的编码,即用 N (Nominal 名义变量)替换了 Q (Quantitative 量化变量)。这点小小的改变就足以使得 Altair 明白,它不该使用连续色标,而是使用独立色标。

Altair 的另一个美妙之处就是,我们可以从现有的图表中创建新的图表。例如,我们现在要加入新的数据 income,我们唯一需要做的就是告诉 Altair:用 income 作为y轴,代码如下所示:

categorical_chart = alt.Chart(data).mark_circle(size=200).encode( x='population:Q', y='income:Q', color='country_id:N')

复制

打开网易新闻 查看精彩图片

如果想添加数据提示的功能(tooltip,鼠标悬停在数据上时,会显示该数据的详细信息),只需要增加一行代码:

categorical_chart = alt.Chart(data).mark_circle(size=200).encode( x='population:Q', y='income:Q', color='country_id:N', tooltip=['country_id', 'population', 'income']))

复制

在接触 Altair 之前,我们常常持有一种的怀疑态度:这些可视化工具的包装器真的好用吗?通常来讲,包装是一个坏主意,就拿 ggplot2 来说,它的很多包装器都没有被 Python 社区广泛采用。这些包装器很难创建功能完整的版本,而且它们的更新也常常不及时。然而 Altair 却不一样:

打开网易新闻 查看精彩图片

以下是一般的系统要求:

  • 操作系统:支持最新的Windows和Linux操作系统版本。
  • 处理器:多核64位处理器,推荐使用Intel Core i7或更高级别的处理器。
  • 内存:推荐16GB或更大容量的RAM,大型模拟需要更多内存。
  • 显卡:支持OpenGL 3.3及以上版本的显卡,推荐使用专业级显卡。
  • 存储空间:安装软件和存储仿真数据所需的硬盘空间。推荐至少100GB以上的可用空间。
  • 其他:支持鼠标和键盘,建议使用具备图形绘制功能的显卡。