有您的设置几个问题的形式。
首先,启用了parseDates
的图表的数据结构不正确。您不能拥有同一日期的多个元素。 AmCharts要求您将数据点分组,如果他们共享相同的日期/类别。这是设计和网站上的每个示例都显示了这一点,因此您所有的2016-03-29和2016-10-20点都可以缩减为两个对象。我假定这些多值对应于不同的图形对象,所以你需要为每一个独特的价值领域,即
[{
date: "2016-03-29",
value1: 5,
value2: 1,
value3: 5,
value4: 4,
value5: 1,
value6: 3
}, {
date: "2016-10-20"
value1: 0,
value2: 0,
value3: 0
}]
然后你有设置通过value6为VALUE1 valueFields 6个图形对象,以适应这些点。再次,我假设你有多个给定数据集的图。
编辑
您的评论表明,这种情况并非如此,他们都属于一个图形。您仍然需要重构数据并提供唯一的时间戳,因为您无法为具有parseDates
的启用图表的相同时间戳记输入多个条目。如果这些值在不同的时间出现,则提供该信息。例如,假设你的数据是每小时:
{date: "2016-03-29 01:00", value: 5}
{date: "2016-03-29 02:00", value: 1}
{date: "2016-03-29 03:00", value: 5}
{date: "2016-03-29 04:00", value: 4}
{date: "2016-03-29 05:00", value: 1}
{date: "2016-03-29 06:00", value: 3}
{date: "2016-10-20 01:00", value: 0}
{date: "2016-10-20 02:00", value: 0}
{date: "2016-10-20 03:00", value: 0}
这会工作,但你必须设置你的dataDateFormat
匹配的时间戳(在这种情况下"YYYY-MM-DD JJ:NN"
),并调整minPeriod
以适应您的点之间的最小间隔(对于这个例子:"hh"
)。
如果你不解析日期,那么你可以保留你的设置,但是图表看起来很奇怪,有多个2016-03-29条目。那些是你唯一的选择。
至于显示多个数值轴,数值轴需要与图形关联。如果您需要多个数值轴,那么您需要多个图表。每个图形的valueAxis
属性需要分配给valueAxis对象或valueAxis id
。您无法将多个值轴分配给一个图形对象。你可以看到这是如何工作的this example。
如果你只有一个图形,需要显示第二数值轴,创建一个副本图形实例,并禁用其视觉方面,比如:没有真正
valueAxes: [{
"position": "left",
"id": "v1"
}, {
"position": "right",
"id": "v2"
}],
graphs: [{
//initial graph
type: "line",
bullet: "round",
valueField: "value"
}, {
//invisible duplicate graph
//for second axis
lineAlpha: 0,
showBalloons: false,
visibleInLegend: false,
valueAxis: "v2",
valueField: "value"
}],
Demo
我的数据只是限制在一个日期内最多6个值,它可以是15或者也许是母马。其次,我不使用多个图表,我希望单个图表适应所有这些点。我有第二张图,但这只是绘制一条趋势线(所有y轴值对一个日期的中位数),它与第一张图不直接相关。 –
就像我说的,你不能在同一个确切的日期有多个点,只有一个图上没有时间戳。 AmCharts不是为此设计的。如果您的值与该日期的多个不同时间戳(2016-03-26 01:00,2016-03-26 02:00等)相关联,那将起作用,因此我对添加不同时间戳和更改dataDateFormat的评论以及minPeriod来识别它们。点仍然是有多个y轴 - 它们每个都需要一个独特的图形。 – xorspark
如果您只有一个图形,则将其复制并分配给第二个数值轴。你也想要禁用它的所有视觉方面。 [演示](https://codepen.io/team/amcharts/pen/f30443d7dcad795b8cdf1990a1a3a1ee?editors=0010) – xorspark