基于人力车月的X轴问题
Rickshaw Month based X axis problems
我的图表工作得非常接近完美。我通过PHP抓取数据,并返回JSON数据的人力车,然而,一个问题是,我不能得到12月显示在图表上。
我需要显示全年的结果。所以即使没有Dec的记录,我也需要将其显示为0。
我所做的基本前提是这样的(我在实践中没有使用strtotime)
array
(
"Jan"=>array
(
"timestamp"=>strtotime('01-01-'.$this->year),
"records"=>(array)timestamps
)
//do for all months
)
由此,该月的记录数量是该月记录数组的长度,我也有该月的确切时间戳。
然后,当我json_encode这个数组时,我有一个JS对象,我可以迭代来正确地创建人力车系列,我传递时间戳键作为它的x轴值,并记录。长度作为y轴值
除了12月,这一切都很好,这是当前图表的图像
https://i.stack.imgur.com/qkzdq.png我不明白的是,每隔一个月就会按计划进行。如果其记录数组的长度为0,则将其绘制为0。出于某种原因,12月份的数据没有被收录。起初,我认为这是一个时区差异,但这就是我实际上如何获得每个月的时间戳
protected function getUnixTime($date_string)
{
$date = new DateTime($date_string , new DateTimeZone('GMT'));
return $date->format("U");
}
并使用此工具http://www.epochconverter.com/检查所有时间戳,它们似乎都是正确的。仅供参考,这是我如何设置人力车
var graph = new Rickshaw.Graph(
{
element:document.querySelector(scope.conf.chart_element),
width:scope.conf.chart_width,
height:scope.conf.chart_height,
renderer:scope.conf.chart_type,
series: scope.defaults.graph_series_data.reverse()
}),
time = new Rickshaw.Fixtures.Time(),
months = time.unit('months'),
x_axis = new Rickshaw.Graph.Axis.Time(
{
graph: graph,
timeUnit:months,
}),
y_axis = new Rickshaw.Graph.Axis.Y(
{
graph: graph,
orientation: 'left',
tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
element: document.getElementById('y_axis'),
}),
legend = new Rickshaw.Graph.Legend(
{
element: document.querySelector('#legend'),
graph: graph
});
graph.render();
任何帮助都将是非常感激的,这个问题难倒了我。 呃…是的,它实际上一直都在,只是需要在右边填充一些来显示刻度字母。这总是最简单的解决方案。
如果你有这个问题,试着在图形的右侧添加一些填充,比如
padding:{top:0.01 , right:0.007 , bottom:0 , left:0}
这样就可以解决问题了。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- 在AJAX成功函数中调用人力车JS轴渲染问题
- 基于人力车月的X轴问题