javascript - Chartist 折线图动画从底部开始
问题描述
我正在使用 Chartist.js 生成折线图,效果很好,但我注意到线条动画默认从图表底部的某个高度开始:
如何修改我的代码以从图表底部开始线条动画,如下所示:
这是我的代码:
function graph(month,shop,sale){
var data = {
labels: month,
series: [sale,shop]
};
var options = {
fullWidth:true,
height: 380,
showPoint: true,
low: 0,
showArea: true,
lineSmooth: false,
plugins: [
Chartist.plugins.legend({
legendNames: ['Sale', 'Shop'],
})
]
};
var chart = new Chartist.Line('.ct-chart', data, options);
chart.on('draw', function(data) {
if(data.type === 'point') {
var circle = new Chartist.Svg('circle', {
cx: [data.x], cy:[data.y], r:[5],
}, 'ct-circle');
data.element.replace(circle);
}
});
chart.on('draw', function(data) {
if(data.type === 'line' || data.type === 'area') {
data.element.animate({
d: {
begin: 1000 * data.index,
dur: 1000,
from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(),
to: data.path.clone().stringify(),
easing: Chartist.Svg.Easing.easeOutQuint
}
});
}
});
}
var data = {
labels: ['Enero', 'Febrero', 'Marzo','Abril','Mayo','Junio']
};
var options = {
fullWidth:true,
height: 380
};
new Chartist.Line('.ct-chart', data, options);
$(document).ready(function(){
$.ajax({
url: "myfile.php",
type: "GET",
dataType: "json",
success: function(resp)
{
var month = resp[0];
var shop = resp[1];
var sale = resp[2];
graph(month,shop,sale);
}
});
});
我想要一些帮助。
解决方案
如果您使用 google 开发人员工具检查元素,您会发现图表中的“ct-series ct-series-b”类具有特定的高度,它不会一直向下。如果您在图表绘制时更改动画,例如:
from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height() + 15).stringify(),
这条线将从 ct-series-b + 15px 的高度一直到圆点。
希望对你有帮助,狮子座。
推荐阅读
- mysql - 在 Nestjs 中注入 Tree Typeorm 存储库
- salesforce-communities - 从电话号码的区号获取州代码和国家代码
- android - Facebook Account Kit 与 ProGuard 冲突
- angular - 从角度 7 的控制器访问 ng-template 内部的 ngForm
- python - SQLAlchemy:__tablename__ 作为变量
- ios - UICollectionView 中的项目数
- typescript - 为什么 TypeScript 抱怨我实现了一个抽象类成员?
- kotlin - Kotlin:枚举伴随函数
- powershell - 是否有用于 TrackAvailability 的 REST API?
- c# - WPF 中 OnInitialized 和 OnSourceInitialized 的区别