AmCharts股票图表日期格式修改求助:光标与分类轴格式调整
解决AmCharts股票图表的日期格式问题
针对你提到的两个日期格式修改需求,我来一步步帮你解决:
(a) 修复光标日期格式为"DD.MM.YYYY"
你之前的代码没生效,是因为配置路径错误。在AmCharts 3中,ChartCursor是图表的一个子配置对象,正确的设置方式应该是直接在chartCursor配置块里定义categoryBalloonDateFormat,或者通过图表实例的cursor属性修改,而不是chart.ChartCursor(这不是正确的实例属性路径)。
正确的初始化配置示例:
AmCharts.makeChart("chartdiv", { // 其他图表配置(比如dataProvider, type等) chartCursor: { categoryBalloonDateFormat: "DD.MM.YYYY", // 其他光标相关设置(比如cursorColor, fullWidth等) }, // 其他配置项 });
如果是在初始化后动态修改,应该这样写:
var chart = AmCharts.makeChart(...); chart.cursor.categoryBalloonDateFormat = "DD.MM.YYYY"; chart.validateNow(); // 刷新图表使设置生效
(b) 设置分类轴为德语日期格式(如"01. Mai 2018")
要实现德语格式的日期,需要两步:配置日期格式模板,以及设置德语的月份名称(如果没有加载本地化文件的话):
方法1:加载AmCharts德语本地化文件(推荐)
AmCharts提供了官方的本地化脚本,加载后会自动替换月份、星期等文本为德语。你可以在代码中引入对应的语言文件,然后配置分类轴的日期格式:
// 先确保加载了德语本地化脚本(比如amcharts/lang/de.js) AmCharts.makeChart("chartdiv", { // 其他配置 categoryAxis: { parseDates: true, // 必须开启,否则日期不会被解析 dateFormats: [ { period: 'DD', format: 'DD. MMMM YYYY' }, // 天粒度的格式 { period: 'MM', format: 'MMMM YYYY' }, // 月粒度的格式 { period: 'YYYY', format: 'YYYY' } // 年粒度的格式 ] } });
方法2:手动设置德语月份名称
如果不想加载额外的本地化文件,可以直接在categoryAxis中手动定义德语月份数组:
AmCharts.makeChart("chartdiv", { // 其他配置 categoryAxis: { parseDates: true, dateFormats: [ { period: 'DD', format: 'DD. MMMM YYYY' }, { period: 'MM', format: 'MMMM YYYY' }, { period: 'YYYY', format: 'YYYY' } ], // 德语月份名称数组 months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] } });
这样分类轴就会显示类似"01. Mai 2018"的德语格式日期了。
内容的提问来源于stack exchange,提问作者Hans Meyer
相关产品推荐
相关产品推荐

