我想使用AMChart显示直线图。但是如果它们的y值相等,它就不会在点之间画线。我怎么解决这个问题。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>amCharts examples</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script src="../amcharts/amcharts.js" type="text/javascript"></script>
<script type="text/javascript">
var chart;
var graph;
// months in JS are zero-based, 0 means January
var chartData = [{
year: new Date(1950, 0),
value: 300
}, {
year: new Date(1951, 0),
value: 300
}, {
year: new Date(1952, 0),
value: 300
}, {
year: new Date(1953, 0),
value: 300
}];
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.pathToImages = "../amcharts/images/";
chart.dataProvider = chartData;
chart.marginLeft = 10;
chart.categoryField = "year";
chart.zoomOutButton = {
backgroundColor: '#000000',
backgroundAlpha: 0.15
};
// listen for "dataUpdated" event (fired when chart is inited) and call zoomChart method when it happens
chart.addListener("dataUpdated", zoomChart);
// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true
categoryAxis.minPeriod = "YYYY"; // our data is yearly, so we set minPeriod to YYYY
categoryAxis.gridAlpha = 0;
// value
var valueAxis = new AmCharts.ValueAxis();
valueAxis.axisAlpha = 0;
valueAxis.inside = true;
chart.addValueAxis(valueAxis);
// GRAPH
graph = new AmCharts.AmGraph();
graph.type = "smoothedLine"; // this line makes the graph smoothed line.
graph.lineColor = "#d1655d";
graph.negativeLineColor = "#637bb6"; // this line makes the graph to change color when it drops below 0
graph.bullet = "round";
graph.bulletSize = 5;
graph.lineThickness = 2;
graph.valueField = "value";
chart.addGraph(graph);
// CURSOR
var chartCursor = new AmCharts.ChartCursor();
chartCursor.cursorAlpha = 0;
chartCursor.cursorPosition = "mouse";
chartCursor.categoryBalloonDateFormat = "YYYY";
chart.addChartCursor(chartCursor);
// SCROLLBAR
var chartScrollbar = new AmCharts.ChartScrollbar();
chartScrollbar.graph = graph;
chartScrollbar.backgroundColor = "#DDDDDD";
chartScrollbar.scrollbarHeight = 30;
chartScrollbar.selectedBackgroundColor = "#FFFFFF";
chart.addChartScrollbar(chartScrollbar);
// WRITE
chart.write("chartdiv");
});
// this method is called when chart is first inited as we listen for "dataUpdated" event
function zoomChart() {
// different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
chart.zoomToDates(new Date(1949, 0), new Date(1955, 0));
}
</script>
</head>
<body>
<div id="chartdiv" style="width:100%; height:400px;"></div>
</body>
答案 0 :(得分:0)
您是否幸运使用谷歌浏览器?如果是,我遇到了同样的问题,它似乎是Google Chrome本身的一个错误,它会阻止绘制共线折线,例如您在问题中描述的...
以下是错误报告的链接,您可以明星跟随... http://code.google.com/p/chromium/issues/detail?id=60306
答案 1 :(得分:0)
我不确定这一点。但同样的事情发生在我身上。我使用了amcharts 2.10.8,浏览器是IE 9,FF 21.尽管纵轴的值是常数(即271),但图形显示为曲线而不是直线。所以我将 graph.type 更改为行而不是 smoothedLine 。这帮助我克服了这个问题。