如实使用网格图(trellis chart)来构建可视化作品?

导语
如实使用网格图(trellis chart)来构建可视化作品?一般来说有几种不同的方式来制作它,例如使用 case 计算并手动分配每行的 x 和 y 轴。但如果数据有很多行时,这将变得非常耗时。因此,找到 x 和 y 轴的计算字段是完成作品最有利的方式。
幸运的是,一些数据爱好者分享的文章给了计算字段。如下:
x 轴:((index()-1)%(int(sqrt(size()))))
y轴:int((index()-1)/(int((sqrt(size())))))
我们可以将它们 copy 到自己的计算字段中,然后按照说明完成想要的操作。但作者在使用的时候并不是很了解这个字段的意义,所以本篇文章就是计算字段的分析,可以帮助咱们理解这个计算字段。在这里将使用超市数据来演示步骤,使用 17 个子类别的销售额来重新创建此图表。
第一步:计算字段的推导
从本质上来说,网格图是排列成方形的小图表集合。所以我们需要知道方形行数的计算方式。int(sqrt(size()))能执行此操作,其中 size()是视图中的行数。在这个例子中,它是 17 。
目前为止,计算字段为:
x 轴:int (sqrt(size())
y 轴:int (sqrt(size())
第二步:分离网格图的各个部分
现在需要分离出网格图的各个组成部分。index()就是为视图中的每一行分配一个数字,如下所示:
使用index()除以 int(sqrt(size()) 将给出网格图中每行的位置。所以,现在可以更新计算字段为:
x 轴:index()/(int((sqrt(size()))))
y 轴:index()/(int((sqrt(size()))))
第三步:显示整数值
但是,如下图所示,上述计算得到了许多行和列:
这里需要减少行和列的数量,以便只显示整数值。int()可以进行 x 和 y 轴计算。更新的计算结果为:
x轴:int(index()/(int((sqrt(size())))))
y轴:int(index()/(int((sqrt(size())))))
结果如下图所示:
第四步:重新分组
就快成功了。现在需要做的就是将这些值分开,以便它们不像上面的图表那样分组。这里可以使用 '%' 符号来代替分隔符号来完成。它能用来计算除法的余数。例如 7%4 = 3 。可以看到 “remainder” 列下的行。
每行的值将会以四个一组的形式出现,不用担心下一组 4 个子类别与另一个子类别相同,因为它们将位于网格图中的不同行上。所以可以将 x 轴和 y 轴的字段更新为:
x 轴:index()%(int(sqrt(size())))
y 轴:int((index())/(int((sqrt(size())))))
结果如下所示:
第五步:检查和修正
上面的图表看起来不太正确,所有数值都向右移动了一个位置。这可以通过在 x 轴和 y 轴的 index 加上 -1 来纠正,以便修正它:
x 轴:(index()-1)%(int(sqrt(size())))
y 轴:int((index()-1)/(int((sqrt(size())))))
我们终于推算出了计算字段,并将它们放在视图中,这样一来就可以放心的使用这个计算字段,不用担心不理解计算含义而造成的麻烦。

iphong8发布会即将开始,iphone8参数曝光小米米主题商店就出现刘海iOS11第三方主题
公用LCU屏和机组LCU屏有哪些基本功能
嵌入式超薄无风扇工控机6代/7代-25℃至70℃机器视觉工控机BP-4500-PoER
洲明XR再破世界纪录
WHDI组织发布无线家庭数字接口规范WHDI2.0
如实使用网格图(trellis chart)来构建可视化作品?
压力调节阀的常见故障以及解决方式的介绍
2.4g无线模块RF2401F20在智能家居的应用
期待已久的ADAS终于能在CANoe15.0中实现了,看看15.0还有哪些新变化
传华力微挖角联电28纳米研发团队 望破瓶颈
谷景告诉你共模电感坏了有什么影响
工业物联网什么时候才能落地成真
单晶硅棒两项成功取得重大突破_打破了国际垄断
步进电机单三拍通电方式的基本原理
PROFINET调试时Ping指令使用详解
2019世界智能网联汽车大会即将举行,万余平方米场地演示自动驾驶
李在镕正式就任三星电子会长
自动驾驶汽车“眼中”的世界是怎样的?
爱特梅尔推出功能丰富的下一代有源AM/FM天线IC
uC/OS-II内存管理方法详解