【问题标题】:Shinobi Charts in Xamarin multiple, multiple series with 2 y-axisXamarin 中的 Shinobi Charts 多个,多个系列,2 个 y 轴
【发布时间】:2018-01-29 15:04:14
【问题描述】:

我在将具有 2 个列序列和 1 个 y 轴的图表转换为具有相同列序列和 2 个 y 轴的图表时遇到了问题。

顶部你看到带有 1 个 y 轴的图表,看起来很好:

在底部,您会看到添加了另一个 y 轴会发生什么情况,列是重叠的,而不是在 x 轴刻度线上并排。是否可以覆盖决定列是否应该彼此相邻而不是重叠的方法?如果是这样,我必须覆盖什么?

您的帮助将不胜感激。

进一步的案例:

我们的想法是查看可能具有不同规模的多个趋势,即彼此相邻的销售人员的表现或不同规模市场的销售营业额,以查看两者的相对增长,即使他们的规模可能非常不同的。举个例子,一个销售员 (1) 在 2017 年的销售额是另一个销售员 (2) 的 1/10,那么在接下来的一年中,我们可以看到销售员 1 的销售额增加了 15%,而销售员 2 的销售额只增加了 2%,因此,我们可以看到哪个销售员的增长最快,即使一个人可能已经积累了足够多的客户来销售 10 倍的销售额,我们可以奖励一个销售员增加了 15% 的价值。

该实施使用从 pc 软件发送的数据,这些数据显示在(当前仅)IOS 应用程序和不同的网络解决方案中。数据可能会有所不同,通常包括带有数字的 y 轴和带有销售区域或一年中的月份等类别的 x 轴。每个数据组都是我们添加到图表中的一个系列,我们让用户可以选择每个系列的第一个或第二个 y 轴。 这个列问题是一个愿望,但是数据可以用列和线系列来显示,设计者在比较相同的统计数据时更喜欢列。

另一种解决方案可能是设置单个列系列,以便在它们重叠时仍然可以看到它们,但我找不到这样的变量,据我所知,所有列宽都由间距控制,列的数量、刻度线的数量和图表的大小

【问题讨论】:

  • 艾莉森的 barColumnSpacing 在更新到支持它的新版本的 ShinobiCharts 后工作。

标签: c# ios xamarin shinobi


【解决方案1】:

在第一张图片中,由于您对两个系列使用相同的轴,因此图表会自动将两个列系列组合在一起,因此它们并排显示。在这种情况下,可以使用系列上的groupIndex property 来覆盖分组,这样它们就会重叠。

但是,只有在同一轴上的系列才能被组合在一起,所以在第二张图片中,由于系列使用不同的 y 轴,它们不能被分组(groupIndex 属性不会影响这一点行为)。

要解决此问题,我建议使用 SChartDateTimeAxis 作为 x 轴,并调整系列的 x 值和系列的 barColumnSpacing 属性 style 以将列定位到您所在的位置想要他们。

艾莉森

编辑:回答您关于事先不知道类别的评论:

由于无法对具有不同轴的系列进行分组,因此实现所需图表的唯一方法是操作数据。

在这种情况下,我建议使用 SChartNumberAxis 并将 x 值设置为可以根据需要分隔列的数字,例如:

let salesData: [[Double : Double]] = [
    [0.5 : 5.65, 3.5 : 12.6, 6.5 : 8.4],
    [1.5 : 4.35, 4.5 : 13.2, 7.5 : 4.6, 10.5 : 0.6]
]

然后您可以使用SChartDelegatesChart:alterTickMark:beforeAddingToAxis: 方法来更改刻度标签文本,例如如果刻度线的值为 1,您可以将标签文本设置为“2017”(不要忘记调整标签大小以适应);如果是 4,您可以将其设置为“2018”;如果它是您不想显示的数字,可以将其设置为空。

然后您可能希望使用系列的style 上的barColumnSpacing 属性来固定列的宽度。

我意识到这是一个稍微复杂的解决方案,所以我想知道您能否告诉我们更多关于您的用例的信息?这不是我们以前遇到过的事情。多个 y 轴通常用于显示大小不可比较的数据(例如温度和降雨量),因此以这种方式使用两个列序列似乎是不寻常的。

【讨论】:

  • 就像在日期时间添加更多 x 值以使它们彼此相邻,即使它们具有相同的 x 值?另外我使用类别轴的原因是因为图表可以包含许多不同的类别,因为在收到数据之前我不知道会出现哪些类别和值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 1970-01-01
  • 2013-12-06
  • 2014-08-22
相关资源
最近更新 更多