Javascript 如何更改plotly js中的XAXIS值,以另一种方式显示日期?
我有一个select,它使用以下sql语句选择到目前为止传递的时间(以毫秒为单位):Javascript 如何更改plotly js中的XAXIS值,以另一种方式显示日期?,javascript,mysql,plot,plotly,plotly.js,Javascript,Mysql,Plot,Plotly,Plotly.js,我有一个select,它使用以下sql语句选择到目前为止传递的时间(以毫秒为单位): $stmt = $dbh->prepare("SELECT from_unixtime(dd.ts, '%D %H:%i'), dd.a_menos FROM dev_data dd, users u, users_dev ud WHERE
$stmt = $dbh->prepare("SELECT from_unixtime(dd.ts, '%D %H:%i'),
dd.a_menos
FROM dev_data dd, users u, users_dev ud
WHERE u.id = ud.id_user
AND ud.id_dev = dd.id_dev
AND u.id = :id
AND dd.ts BETWEEN :tsmin AND :tsmax");
它向我展示了如下结果:
正如你所看到的,日期看起来有点错误
我想实现的是,在XAXIS中,它只显示天数,当你增加图表的缩放比例时,你可以看到小时数,这可能吗
我的代码-->
<?php
require_once "connection.php";
$dbh= connect();
require "code.php";
$tsmin=tsPrimerDiaMes(4);
$tsmax=maxTs(4);
$data = array('id' => 4, 'tsmin' => $tsmin, 'tsmax' => $tsmax);
$stmt = $dbh->prepare("SELECT from_unixtime(dd.ts, '%D %H:%i'), dd.a_menos FROM dev_data dd, users u, users_dev ud WHERE u.id = ud.id_user AND ud.id_dev = dd.id_dev AND u.id = :id AND dd.ts BETWEEN :tsmin AND :tsmax");
$stmt->execute($data);
$valoresX=array();
$valoresY=array();
while($fila = $stmt->fetch()){
$valoresX[]=$fila[0];
$valoresY[]=$fila[1];
}
$datosX=json_encode($valoresX);
$datosY=json_encode($valoresY);
?>
<div id="graficaLineal"></div>
<script type="text/javascript">
function crearCadenaLineal(json){
var parsed = JSON.parse(json);
var arr = [];
for(var x in parsed){
arr.push(parsed[x]);
}
return arr;
}
</script>
<script type="text/javascript">
datosX=crearCadenaLineal('<?php echo $datosX ?>')
datosY=crearCadenaLineal('<?php echo $datosY ?>')
var prueba = {
x: datosX,
y: datosY,
type: 'scatter',
line: {
color: 'blue',
width:2
}
};
var data = [prueba];
var layout = {
title: 'Generacion',
plot_bgcolor:"lightblue",
paper_bgcolor:"lightgreen",
xaxis: {
title: 'Dias',
type: 'datetime'
},
yaxis: {
title: 'KW'
}
}
Plotly.newPlot('graficaLineal', data, layout);
</script>