Javascript AmChart x轴数据日期格式,以小时分秒显示每天值
我试图创建一个图表,其中的数据与时间有关。我想给每颗子弹一年、一个月、一天、一小时、一分、一秒。但是如果用户放大,我希望X轴不显示分和秒 我的问题:我必须为chart.dataDateFormat和数据的“date”参数指定的日期格式是什么 这是到目前为止我的代码。请让我知道我应该改变什么。 多谢各位Javascript AmChart x轴数据日期格式,以小时分秒显示每天值,javascript,amcharts,Javascript,Amcharts,我试图创建一个图表,其中的数据与时间有关。我想给每颗子弹一年、一个月、一天、一小时、一分、一秒。但是如果用户放大,我希望X轴不显示分和秒 我的问题:我必须为chart.dataDateFormat和数据的“date”参数指定的日期格式是什么 这是到目前为止我的代码。请让我知道我应该改变什么。 多谢各位 <script type="text/javascript"> var chart; var chartData = [
<script type="text/javascript">
var chart;
var chartData = [
{
"date": "2012-01-01",
"value": 0.24
},
{
"date": "2012-01-02",
"value": 0.28
},
{
"date": "2012-01-03",
"value": 0.34
},
{
"date": "2012-01-04",
"value": 0.30
},
{
"date": "2012-01-05",
"value": 0.27
}
];
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.pathToImages = "/images/";
chart.dataProvider = chartData;
chart.dataDateFormat = "YYYY-MM-DD";
chart.categoryField = "date";
// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true
categoryAxis.minPeriod = "hh"; // our data is daily, so we set minPeriod to DD
categoryAxis.gridAlpha = 0.1;
categoryAxis.minorGridAlpha = 0.1;
categoryAxis.axisAlpha = 0;
categoryAxis.minorGridEnabled = true;
categoryAxis.inside = true;
// value
var valueAxis = new AmCharts.ValueAxis();
valueAxis.tickLength = 0;
valueAxis.axisAlpha = 0;
valueAxis.showFirstLabel = false;
valueAxis.showLastLabel = false;
chart.addValueAxis(valueAxis);
// GRAPH
var graph = new AmCharts.AmGraph();
graph.dashLength = 3;
graph.lineColor = "gray";
graph.valueField = "value";
graph.dashLength = 3;
graph.bullet = "round";
graph.lineThickness = 0;
graph.balloonText = "[[category]]<br><b><span style='font-size:14px;'>value:[[value]]</span></b>";
chart.addGraph(graph);
// CURSOR
var chartCursor = new AmCharts.ChartCursor();
chart.addChartCursor(chartCursor);
// SCROLLBAR
var chartScrollbar = new AmCharts.ChartScrollbar();
chart.addChartScrollbar(chartScrollbar);
// HORIZONTAL GREEN RANGE
var guide = new AmCharts.Guide();
guide.value = 0.26;
guide.toValue = 0.32;
guide.fillColor = "#00CC00";
guide.inside = true;
guide.fillAlpha = 0.2;
guide.lineAlpha = 0;
valueAxis.addGuide(guide);
// TREND LINES
// first trend line
var trendLine = new AmCharts.TrendLine();
// note,when creating date objects 0 month is January, as months are zero based in JavaScript.
trendLine.initialDate = new Date(2012, 0, 1, 0,59); // 12 is hour - to start trend line in the middle of the day
trendLine.finalDate = new Date(2012, 0, 23, 24);
trendLine.initialValue = 0.28;
trendLine.finalValue = 0.28;
trendLine.lineColor = "#CC0000";
chart.addTrendLine(trendLine);
// WRITE
chart.write("chartdiv");
});
</script>
var图;
var图表数据=[
{
“日期”:“2012-01-01”,
“价值”:0.24
},
{
“日期”:“2012-01-02”,
“价值”:0.28
},
{
“日期”:“2012-01-03”,
“价值”:0.34
},
{
“日期”:“2012-01-04”,
“价值”:0.30
},
{
“日期”:“2012-01-05”,
“价值”:0.27
}
];
AmCharts.ready(函数(){
//序列图
chart=新的AmCharts.AmSerialChart();
chart.pathToImages=“/images/”;
chart.dataProvider=chartData;
chart.dataDateFormat=“YYYY-MM-DD”;
chart.categoryField=“日期”;
//斧头
//类别
var categoryAxis=chart.categoryAxis;
categoryAxis.parseDates=true;//由于我们的数据是基于日期的,所以我们将parseDates设置为true
categoryAxis.minPeriod=“hh”//我们的数据是每日的,所以我们将minPeriod设置为DD
categoryAxis.gridAlpha=0.1;
categoryAxis.minorGridAlpha=0.1;
categoryAxis.axisAlpha=0;
categoryAxis.minorGridEnabled=true;
categoryAxis.inside=true;
//价值观
var valueAxis=新的AmCharts.valueAxis();
valueAxis.tickLength=0;
valueAxis.axisAlpha=0;
valueAxis.showFirstLabel=false;
valueAxis.showLastLabel=false;
图表.添加valueAxis(valueAxis);
//图表
var-graph=新的AmCharts.AmGraph();
graph.dashLength=3;
graph.lineColor=“灰色”;
graph.valueField=“value”;
graph.dashLength=3;
graph.bullet=“圆形”;
图1.lineThickness=0;
graph.ballootText=“[[category]]
值:[[value]]”;
图表。添加图表(图形);
//光标
var chartCursor=new AmCharts.chartCursor();
chart.addChartCursor(chartCursor);
//滚动条
var chartScrollbar=新的AmCharts.chartScrollbar();
chart.addChartScrollbar(chartScrollbar);
//水平绿色范围
var guide=新的AmCharts.guide();
guide.value=0.26;
guide.toValue=0.32;
guide.fillColor=“#00CC00”;
guide.inside=true;
guide.fillAlpha=0.2;
guide.lineAlpha=0;
valueAxis.addGuide(指南);
//趋势线
//第一趋势线
var trendLine=新的AmCharts.trendLine();
//注意,当创建日期对象时,0个月是1月,因为在JavaScript中月份是零。
初始日期=新日期(2012, 0, 1,0,59);/ / 12是小时-开始趋势线在一天当中
trendLine.finalDate=新日期(2012,0,23,24);
trendLine.initialValue=0.28;
趋势线最终值=0.28;
trendLine.lineColor=“#CC0000”;
图表。添加趋势线(趋势线);
//写
chart.write(“chartdiv”);
});
我终于在一夜之间找到了答案。我把解决方案交给那些想找它的人
图表数据必须是:
{“日期”:“2014-03-01,08:05:05”,“值”:0.25}
chart.dataDateFormat必须为:
chart.dataDateFormat=“YYYY-MM-DD,JJ:NN:SS”
希望它能帮助他人。宝贵的AmCharts文档,介绍了丰富此答案的日期: