Ruby on rails HighCharts:如何显示日期时间范围之间的xAxis?
我使用的是带有“datetime”xAxis的折线图。我有Ruby on rails HighCharts:如何显示日期时间范围之间的xAxis?,ruby-on-rails,ruby,datetime,highcharts,Ruby On Rails,Ruby,Datetime,Highcharts,我使用的是带有“datetime”xAxis的折线图。我有pointStart:“2015年4月8日07:00 PM”和tickAmount:12用于12小时的显示。图表显示了xAxis上的4月8日,但显示的是上午12点到下午12点,而不是上午7点到晚上7点 以下是我的配置: x_axis_start_time = 'April 08, 2015 07:00 PM -700'.to_datetime @pv_chart = LazyHighCharts::HighChart.new('grap
pointStart:“2015年4月8日07:00 PM”
和tickAmount:12
用于12小时的显示。图表显示了xAxis上的4月8日,但显示的是上午12点到下午12点,而不是上午7点到晚上7点
以下是我的配置:
x_axis_start_time = 'April 08, 2015 07:00 PM -700'.to_datetime
@pv_chart = LazyHighCharts::HighChart.new('graph') do |f|
f.chart({:zoomType =>'x'})
f.options[{
useUTC: false,
scrollbar: { enabled: true }
}]
f.title({ :text=>"PV Module Temperature"})
f.xAxis [
{
type: 'datetime',
pointStart: x_axis_start_time,
pointInterval: 1 * 3600 * 1000,
tickAmount: 12,
tickInterval: 1 * 3600 * 1000,
}
]
f.yAxis [
{
title: {text: "Temperature ( °C )",
margin: 30},
}
]
f.legend(:align => 'center', :verticalAlign => 'bottom', :layout => 'horizontal')
f.series( :name=> 'PV1', :data=> @avg_pv1, color: '#FF6138', \
pointStart: x_axis_start_time, pointInterval: 60 )
f.series( :name=> 'PV2', :data=> @avg_pv2, color: '#00A388', \
pointStart: x_axis_start_time, pointInterval: 60 )
end
结果:
我在另一个SO线程上读到,传入UNIX历元或毫秒是有效的,但是当我将DateTime对象转换为int和*1000时,图形不会显示。如何从特定时间开始使用xAxis标签
编辑:
start_time = '2015-04-02 07:00:00 -0700'.to_time
end_time = '2015-04-02 19:00:00 -0700'.to_time
f.xAxis [{
type: 'datetime',
pointStart: start_time,
}]
f.series( :name=> 'PV1', :data=> @avg_pv1, color: '#FF6138', \
pointInterval: min_inter * 60, pointStart: start_time, \
tickInterval: 1 * 3600, tickAmount: 12, \
min: start_time, max: end_time)
此配置的工作方式与我希望的点显示方式相同,但xAxis没有使用pointStart:start\u time。但它使用的是日期。尝试使用highstock,然后将其设置为false。我能够配置数据点,但没有使用pointStart中的时间值。我将pointStart:“2015年4月8日7:00”作为时间对象,但xAxis仍然从午夜到中午12点显示。是否也在highstock中?你能在这里把你的数据粘贴成json吗?很抱歉反应太晚了。我能用不同的方法解决我的问题。我从记录中创建了一个时间戳数组,并沿X轴显示它们。