Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 定义';步骤';Zingchart中的属性使图形不可用_Javascript_Plot_Charts_Zingchart - Fatal编程技术网

Javascript 定义';步骤';Zingchart中的属性使图形不可用

Javascript 定义';步骤';Zingchart中的属性使图形不可用,javascript,plot,charts,zingchart,Javascript,Plot,Charts,Zingchart,场景: 我能够使用Zingchart获得状态图,使用堆叠的hbar并在元素状态不变的情况下绘制数据间隔: 然而,我希望在提供时间的轴上有更多的分辨率 问题: 我无法增加y轴(这是一个堆叠的hbar图,因此通常的x轴实际上是y轴) 如果我在scaleY字段中引入步骤:“1hour”,我将返回到历元0,这就是我得到的: 问题: 我做错了什么?我想: 在时间轴上有更多的时间参考 或者(这可能是另一个问题)可以通过鼠标(在工具提示中?)知道我在什么时候。因为我正在绘制时间增量,所以我丢失了状态更改

场景:

我能够使用Zingchart获得状态图,使用堆叠的hbar并在元素状态不变的情况下绘制数据间隔:

然而,我希望在提供时间的轴上有更多的分辨率

问题:

我无法增加
y轴
(这是一个堆叠的hbar图,因此通常的
x轴
实际上是
y轴

如果我在
scaleY
字段中引入
步骤:“1hour”
,我将返回到历元0,这就是我得到的:

问题:

我做错了什么?我想:

  • 在时间轴上有更多的时间参考
  • 或者(这可能是另一个问题)可以通过鼠标(在工具提示中?)知道我在什么时候。因为我正在绘制时间增量,所以我丢失了状态更改发生的实际时间。在这种特殊情况下,有没有直接的方法可以做到这一点?或者我是否必须携带另一个
    数据customValue
    作为间隔开始/结束的实际日期
在代码中,我从历元0跳到开始有数据的时间,并定义
minValue
以绘制为我有数据的第一个历元减去1秒。 这是工作代码(未定义任何
步骤
属性):


zingchart.MODULESDIR=“/home/eballes/Work/backup/zingchart_test/zingchart_2.3.3/modules/”;
变量myConfig={
类型:“hbar”,
utc:是的,
标题:{
文本:“状态”
},
斯卡利:{
转换:{
类型:'日期',
全部:“%d/%M/%Y\n%H:%i:%s”,
},
最小值:1456693864000,
缩放:是的,
标签:{
“文本”:“时间”,
},
勾选:{
“线条颜色”:“黑色”,
“线宽”:“2px”,
“大小”:8,
},
最大项目:10,
是的,
项目:{
“字号”:10
},
},
scaleX:{
标签:{
“文本”:“项目”,
},
},
绘图:{
对,,
准确:错,
条宽:10,
规则:[
{
规则:“%data customValue==0”,
alpha:0,//透明
},
{
规则:“%data customValue==1”,
背景颜色:'#0000FF'//深蓝色
},
{
规则:“%data customValue==2”,
背景颜色:'#00FFFF'//浅蓝色
},
{
规则:“%data customValue==3”,
背景颜色:'#FF7F50'//橙色
},
{
规则:“%data customValue==4”,
背景颜色:'#FFFF00'//黄色
},
{
规则:“%data customValue==5”,
背景颜色:'#EE82EE'//紫色
},
{
规则:“%data customValue==6”,
背景颜色:'#00FF00'//绿色
},
{
规则:“%data customValue==7”,
背景颜色:'#FF0000'//红色
},
]
},
工具提示:{
jsRule:“CustomFn.formatTooltip()”,
},
系列:[
{
价值观:[
[1,1456693864000],
[2,1456693864000], 
..//从1到36
[36,1456693864000], 
],
“数据自定义值”:[0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0],
},
{
价值观:[
[11, 32000], [12, 10270000], [14, 5033000], [18, 79000], [20, 43000], [24, 76000], [26, 4043000], [8, 33000], [9, 63000], 
],
“数据自定义值”:[2,6,6,0,1,2,6,1,0,],
},
{
价值观:[
[14, 3000], [19, 20000], [26, 1000], [8, 86000], [9, 13000], 
],
“数据自定义值”:[2,2,2,0,1,],
},
//所有间隔
]
};
CustomFn={};
CustomFn.formatTooltip=函数(p){
var小时=数学下限(p值/3600000);
var分钟数=数学下限((p.值%3600000)/60000);
var秒=(p.值%60000)/1000;
var tooltipText=“项:”+p.scaletext+“\n属性:”;
var hoursText=(小时==0)?“”:(小时+“小时”);
var minutesText=(分钟==0)?:(分钟+“m”);
var secondsText=(秒==0):“(秒+”s”);
tooltipText=tooltipText+hoursText+MinuteText+secondsText+“\n”;
tooltipText=tooltipText+“值:”+p['data-customValue'];
varα=70;
//我们不需要任何时间跳跃的工具提示
如果(小时数>300000){
tooltipText=“”;
α=0;
}
返回{
text:tooltipText,
背景色:“222”,
阿尔法:阿尔法,
}
};
zingchart.render({
id:'我的图表',
资料来源:myConfig,
身高:670,
宽度:“100%”
});
这是与整个示例的链接,不起作用。如果删除“1hour”步骤中的行
,它将正常工作

有趣的是,
step:20
工作正常。但我更喜欢以正常的方式,比如每小时一次



注意:为了提供更多的上下文,这个问题是另一个问题的延续。

完全公开,我是ZingChart团队的成员

第一个问题是

step:'1hour'
我们的库将该字符串值解释为值0。这是因为字符串“1hour”与我们的任何关键字都不匹配,也不是数字类型。我们并不是简单地使用parseInt,所以它的计算结果不是1

如果您想要每小时一次的步骤,您可以以毫秒为单位进行步骤计数。这在我们的报告中有记录

对于显示比例值,我们有一个列表,允许您将比例值添加到工具提示中。在customFn.formatTooltip中,可以添加此行

  ...
  tooltipText = tooltipText + "Value: " + p['data-customValue'];
  tooltipText += '<br> %vv'
。。。
step:3600000
  ...
  tooltipText = tooltipText + "Value: " + p['data-customValue'];
  tooltipText += '<br> %vv'