highchart 柱状图,列宽自适应(x轴是时间的特殊情况)

1、柱子列宽自适属性:

pointWidth:25, //柱子宽度,如果设定该值,则下面2个属性无效
pointPadding: 0.4,//每列之间的距离值,默认此值为0.1
groupPadding: 0,//每个值之间的间距,其实和poingPadding有一样的效果。不过这个主要是用于对付存在分组的情况

2、x轴属性设置里面,需要把间隔固定死,否则会出现柱子重叠情况

//表示时间间隔,4小时(如果不固定死,则数据源的量变多时,柱子会出现重叠情况)
tickInterval: 4 * 3600 * 1000,

3、样例代码如下:

var chart = null;
// 获取 CSV 数据并初始化图表
$.getJSON(‘https://data.jianshukeji.com/jsonp?filename=json/usdeur.json&callback=?‘, function (csv) {
    chart = Highcharts.chart(‘container‘, {
        chart: {
            type: ‘column‘,//柱状图column,曲线用line
            zoomType: ‘x‘,//用户鼠标放缩操作
            spacingLeft: 0,//左侧距离
            spacingRight: 0//右侧距离
        },
        title: {
            text: ‘空气质量PM2.5分布‘,
            style: {
                color: ‘#000000‘,
                fontSize: ‘18px‘,
                fontFamily: ‘微软雅黑‘
            },
        },
        subtitle: {
            text: ‘副标题‘
        },
        xAxis: {//x轴的格式
            type: ‘datetime‘,
            //表示时间间隔,4小时(如果不固定死,则数据源的量变多时,柱子会出现重叠情况)
            tickInterval:  4 * 3600 * 1000,
            labels: { style: { fontSize: ‘14px‘, color: ‘#000000‘, } },
            dateTimeLabelFormats: {
                millisecond: ‘%H:%M:%S.%L‘,
                second: ‘%H:%M:%S‘,
                minute: ‘%H:%M‘,
                hour: ‘%H时‘,
                day: ‘%m月%d日‘,
                week: ‘%m-%d‘,
                month: ‘%Y-%m‘,
                year: ‘%Y‘
            }
        },
        yAxis: [{
            title: {//y轴的标题
                text: ‘PM2.5浓度‘,
                style: {
                    color: ‘#000000‘,
                    fontSize: ‘14px‘,
                },
            },
            labels: {//y轴坐标和单位
                format: ‘{value} ug/m3‘,
                style: {
                    color: ‘#000000‘,
                    fontSize: ‘14px‘,
                }
            },
            min: 0
        }],
        legend: {//图例
            align: ‘center‘,
            verticalAlign: ‘bottom‘,
            y: 20,
            floating: true,
            borderWidth: 1
        },
        tooltip: {//鼠标提示框
            shared: true,
            crosshairs: true,
            useHTML: true,
            // 时间格式化字符
            // 默认会根据当前的数据点间隔取对应的值
            // 当前图表中数据点间隔为 1小时,所以配置hour值即可
            dateTimeLabelFormats: {
                day: ‘%Y-%m-%d %H时‘
            }
        },
        credits: {
            enabled: false
        },
        plotOptions: {
            series: {
                marker: {
                    enabled: true,
                    radius: 3
                },
                // 关闭鼠标跟踪,对应的提示框、点击事件会失效
                enableMouseTracking: true,
                turboThreshold: 0
            },
            column: {
                dataLabels: {
                    enabled: true,
                    style: {
                        color: ‘#555‘,
                        fontSize: ‘12px‘,
                        fontFamily: ‘宋体‘,
                        textShadow: false,
                        textOutline: "none"
                    }
                },
                //pointWidth:25, //柱子宽度,如果设定该值,则下面2个属性无效
                pointPadding: 0.4,//每列之间的距离值,默认此值为0.1
                groupPadding: 0,//每个值之间的间距,其实和poingPadding有一样的效果。不过这个主要是用于对付存在分组的情况
                borderWidth: 1,
                shadow: false
            }
        },
        series: [{
            borderRadius: 7,
            color:‘#ff0000‘,
            name: ‘PM2.5‘,
            data: [
                {x:1533430800000,y:39},
                {x:1533427200000,y:50},
                {x:1533423600000,y:50},
                {x:1533420000000,y:45},
                {x:1533416400000,y:45},
                {x:1533412800000,y:45},
                {x:1533409200000,y:45},
                {x:1533405600000,y:45},
                {x:1533402000000,y:46},
                {x:1533398400000,y:51},
                {x:1533394800000,y:45},
                {x:1533391200000,y:46},
                {x:1533387600000,y:38},
                {x:1533384000000,y:42},
                {x:1533380400000,y:47},
                {x:1533376800000,y:46},
                {x:1533373200000,y:81},
                {x:1533369600000,y:41},
                {x:1533366000000,y:41},
                {x:1533362400000,y:45},
                {x:1533358800000,y:47},
                {x:1533355200000,y:51},
                {x:1533351600000,y:46},
                {x:1533348000000,y:51},
                {x:1533344400000,y:50},
            ]
        }]
    });
});

4、效果图如下:

原文地址:https://www.cnblogs.com/tiandi/p/10162191.html

时间: 2024-08-05 11:59:23

highchart 柱状图,列宽自适应(x轴是时间的特殊情况)的相关文章

NPOI 列宽自适应 代码示例

//列宽自适应,只对英文和数字有效 for (int i = 0; i <= maxColumn; i++) { sheet.AutoSizeColumn(i); } //获取当前列的宽度,然后对比本列的长度,取最大值 for (int columnNum = 0; columnNum <= maxColumn; columnNum++) { int columnWidth = sheet.GetColumnWidth(columnNum) / 256; for (int rowNum = 1

easyui datagird 列宽自适应

代码如下: 1 onLoadSuccess: function (data) { 2 var rows = data.rows; //得到行数据 3 var columnMaxCharacter = new Array(); //该列最大字符数 4 //遍历所有行数据,获得该列数据的最大字符数 5 var propertys = Object.getOwnPropertyNames(rows[0]); 6 for (var i = 0; i < rows.length; i++) { 7 for

TListView 列宽自适应大小

看图说话,直接看效果. 设置前: 设置后: 我使用的设置: listview1.Columns[1].Width:=-2; //Columns[1]设置SubItems 扩展: a. ListView.Column[0].Width := -1;//列宽根据列内容自适应,此时保证列内容都可见. b. ListView.Column[0].Width := -2;//列宽根据列标题自适应,此时保证列标题可见. 实践是检验真理的唯一标准..Let's do it together! 版权声明:本文为

让DataGridView的列宽自适应内容

在使用DataGridView操作数据的时候,为了美观,希望列宽可以适应内容. 其实就一行代码: Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; 这就搞定了,效果就是列宽会根据内容以及表头宽度自行判断,最后调整到合适的宽度. AutoSizeMode这个属性并不显示在"属性"窗口中.如果你的DataGridView是动态绑定数据的, 那就只能在代码中设 置.如果你的DataGridView列名是设计好

VC CListCtrl 第一列列宽自适应

原文链接: http://www.cnblogs.com/sephil/archive/2011/04/03/2004384.html 今天用VC写工具的时候用到CListView,并且ListCtrl的第一列需要自动拉伸,以占满空白区域 Delphi做这个设置是很容易的,只要将Column的AutoSize设置为True就可以了 不过VC/SDK的AutoSize其实是根据Item的文本长度来自动设置Column Width,跟我的要求不符,只好自己实现了 其实很简单,就是觉得麻烦... vo

datatables定义列宽自适应方法

不同的分辨率以及浏览器自适应,列表不出现滚动条,表格内容自动换行. 方法:通过定义表格列属性,结合<table>CSS样式和定义的列单元格样式 'td_huanhang'/'td_unhuanhang' "columnDefs": [ {targets: 9, orderable: false, width: "10%"}, ] columns: [ {"data": "addr", "name"

C# 使用NPOI导出Excel,首行冻结,添加筛选,填充颜色,列宽自适应

使用NuGet安装NPOI,添加以下命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; using NPOI.XSSF.UserModel; 添加类 ExcelExporter public static class ExcelExporter { /// <summary> /// DataTable导出Excel /// </summary> /// <param nam

Java 设置Excel自适应行高、列宽

在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定列宽,缩小数据字体大小适应列宽 本文将通过java程序来介绍具体的自适应设置方法.   工具:Free Spire.XLS for Java (免费版) 注:可通过官网下载包,并解压将lib文件夹下的jar文件导入java程序:或者通过maven仓库下载并导入. 参考如下导入效果: Java 代码示

XtraReport交叉表自适应行高及最佳列宽

1.自适应行头的行高,绑定CustomRowHeight事件,代码如下: private Graphics gr = Graphics.FromHwnd(IntPtr.Zero); private void pivotGrid1_CustomRowHeight(object sender, HuanSi.XtraReports.UI.PivotGrid.PivotCustomRowHeightEventArgs e) { e.RowHeight = 20; var grid=sender as