highcharts 高查特斯Python

oewdyzsn  于 9个月前  发布在  Highcharts
关注(0)|答案(1)|浏览(97)

我有一个python代码:

from highcharts_core.chart import Chart
        
    Chart.from_pandas(load_pickle_p, property_map={
        'x': 'Date',
        'y': 'Power'
    }, series_type='area', chart_kwargs={'container': 'container',
        'variable_name': 'myChart'}, series_kwargs={'xAxis': [{'type':     'datetime'}]}).to_js_literal('my_js_literal.js')

my_js_literal.js运行后的python代码是:

document.addEventListener('DOMContentLoaded', function() {
    var myChart = Highcharts.chart('container',
    {
      series: [{
      data: [[1697241600000.0,
    -34.3736262321],
    [1697260980000.0,
    -34.1538462639],
    [1697265960000.0,
    -33.8439569473],
    [1697317320000.0,
    -32 4904761314]],
  name: 'Power',
  type: 'area'
}]
},
);
});

和图表在浏览器x轴绘制在毫秒不是日期时间格式
如何在调用def .to_js_literal之前将x轴类型设置为datetime?
我尝试使用dict“xAxis”设置series_kwargs、options_kwargschart_kwargs:my_js_literal.js中的['type':'datetime'}]}和xAxis不包括在内
我做错了什么,如何解决我的问题?

ugmeyewa

ugmeyewa1#

我解决我的问题
来自https://api.highcharts.com/highcharts/xAxis.dateTimeLabelFormats.hour中的文档
我们读取xAxis,但在python camelcase中,我们需要替换为“_a”,因为结果字段名称必须是x_axis,y_axis等。结果工作代码为

chart = Chart.from_pandas(load_pickle_p, property_map={
    'x': 'Date',
    'y': 'Power'
}, series_type='area', options_kwargs={
    'title': {'text': 'Abrakadabra'},
    'x_axis': {
        'type': 'datetime',
        'dateTimeLabelFormats': {
            'hour': '%H:%M'
        }
    }
}, chart_kwargs={'container': 'container'})

chart.to_js_literal('my_js_literal.js')

并将结果代码文件my_js_literal.js设置在
xAxis:{dateTimeLabelList:{ hour:'%H:%M' },类型:'datetime' }
也许它会派上用场

相关问题