我正在使用Highcharts/Highstock来绘制相当大量的数据(~10,000点).数据由X轴上的Date对象和Y上的浮点组成,格式如下:[[(date), 1.728], [(date), 0.346], ...]
.日期总是相隔1小时,数据中没有间隙.
当图表的范围> = 21天(这样至少可以显示21天的数据)时,图表会正确显示.但是,只要范围小于该范围,图表就会变为空白,工具提示会将每个点显示为Y值为0.0.这些点的Y值确实存在于数组中(我可以在Firebug中看到它们),但它们不会显示在图表上.这是我如何初始化它:
mainChart = new Highcharts.StockChart({
chart: {
renderTo: 'linegraph'
},
rangeSelector: {
buttons: [{
type: 'day',
count: 1,
text: '1 d'
}, {
type: 'week',
count: 1,
text: '1 wk'
}, {
type: 'month',
count: 1,
text: '1 mo'
}, {
type: 'year',
count: 1,
text: '1 yr'
}, {
type: 'all',
text: 'All'
}],
selected: 2
},
series: [{
name: 'Electricity usage (kWh)',
data: graphData,
tooltip: {
valueDecimals: …
Run Code Online (Sandbox Code Playgroud) 我正在研究Highstock,我正试图在Highstock的"数据"中设置一个颜色,就像在示例中一样,但我无法让它工作,无论我如何设置颜色,它都没有' t显示在图表上.
我已经尝试使用Highchart API的选项,它可以工作,但它不适用于Highstock.
是因为我使用x,y来指定点吗?请帮忙.
我正在使用HighCharts库进行GWT,我遇到了问题.
我正在尝试这样的事情:股票图表示例.我对这个问题唯一感兴趣的是buttons
里面的属性rangeSelector
,我想在其中自定义按钮文本).在javascript上代码是这样的:
rangeSelector: {
buttons: [{
type: 'day',
count: 3,
text: '3dias'
}, {
type: 'week',
count: 1,
text: '1w'
}, {
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 6,
text: '6MS'
}, {
type: 'year',
count: 1,
text: '1ano'
}, {
type: 'all',
text: 'All'
}],
selected: 3
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试在GWT中使用图表上的setOption()方法做同样的事情.但似乎没有任何效果.
我觉得我遇到了麻烦,因为该buttons
属性需要一系列属性,这就是我无法弄清楚如何解决的问题.
我试过的东西:
chart.setOption("/rangeSelector/buttons",
new String[]{"{type: 'day', count: 1, text: '1dia'}", "{type: 'day', count: 1, text: '1dia'}"});`
Run Code Online (Sandbox Code Playgroud)
这是我能想到的最好的,它创建了两个空按钮而没有动作. …
我想在HighChart中显示多年的历史股票数据.这些年的json数据大小是5mb,为什么我要避免一次加载所有.特别是因为大多数用户只需要过去6个月.
我想最初获取前6个月.如果用户缩小或向后"向后移动",我想加载整个数据.有人为此配方吗?起点是什么?我可以收听任何HighChart事件,以便在用户缩小或移动时收到通知吗?
在highcharts中,是否可以将图例显示在两列中,垂直堆叠?
我正在努力找出显示图例项目的最佳方式,此时我们将图例项目全部堆叠在一起.
图表上最多有4个系列.
我不确定如何处理这个,我看到useHTML的选项但是我似乎无法找到任何关于如何处理HTML的例子.
http://jsbin.com/oyicuc/9/edit
任何建议都会非常有用,谢谢.
我有一个包含大量数据的高价图,我能够定义如何对数据进行分组,但我喜欢用户指定要使用的数据分组,并在日,周,月等之间动态更改.
那么是否有可能有一个按钮,用户可以更改数据的分组方式,如果是这样的话?
有许多未记录的功能,例如currentDataGrouping,但没有什么可以设置数据分组......我可以看到任何方式......
series: [{
type: 'column',
name: title,
data: data,
dataGrouping: {
units: [['week', [1]], ['month', [1]]]
}
}]
Run Code Online (Sandbox Code Playgroud) 如何获得系列的ID?在API中只有名称和数据等.但是没有id.我怎么能从系列中获得身份?
我使用以下方法循环图表中的所有系列.
$(chart.series).each(function(i, serie){
// Want to get serie's id
});
Run Code Online (Sandbox Code Playgroud)
编辑:
我发现我可以使用以下方式获取id.我不确定这是正确的方法吗?
$(chart.series).each(function(i, serie){
console.log(serie.options.id);
});
Run Code Online (Sandbox Code Playgroud) 我正在努力让我的数据按月分组.我甚至已经编程方式过滤我的数据,只返回该月的最后一天并计算每月的价值.我试图在'dataGrouping'属性上找到一个很好的解释但是没有运气理解它也没有正确实现它.每个结果都会在每日间隔中返回我的系列.
我的问题如下:
任何帮助将不胜感激.
在这里(见这个jsfiddle)你可以看到二维十字准线正在捕捉到最接近它的数据点.如何使十字准线和工具提示对应于图表上的当前鼠标位置?
tooltip: {
crosshairs: [true, true]
}
Run Code Online (Sandbox Code Playgroud) A)我正在使用 Highstock图表库来进行我的金融项目.但是,我陷入了性能问题的困境.我在Highstock的工作实现有 i)图表中的5个图表 ii)图表中的多行(和行类型) iii)应用于图表上的点的标签 iv)每秒一次到达的新数据,添加点和动画向左图.但是,我在使用此设置时遇到了一些关键问题:
B)我已经检查了其他这些SO问题( Highstock Performance Issue,Highcharts Performance Enhancement Method?),并尝试了他们的解决方案,但改进非常有限:
:turboThreshold 50 ;; tick-list length will be a max of 100
:shadow false
:marker {:enabled false}
:plotOptions{:series {:enableMouseTracking false}}
Run Code Online (Sandbox Code Playgroud)
C)我没有看到这些Highstock问题的简单解决方案.这是一个很棒的图书馆.但我正在查看谷歌图表API,看看它是否能满足这些要点.
D)有没有人经历过类似的事情?还有其他方法可以改善我的高品质性能吗?Google Charts可以在这里做得更好吗?
谢谢
PS.我的highcharts调用看起来像这样(Clojurescript代码):
(defn chart-fill [selector dataList signal-map strategy-map label]
(-> ($ selector)
(.highcharts "StockChart" (clj->js …
Run Code Online (Sandbox Code Playgroud) performance google-finance highcharts quantitative-finance highstock