Echarts基础配置——title配置篇

199 阅读1分钟

这是我在掘金发的第一篇文章,选择掘金是觉得国内IT类技术社区目前只有掘金较为纯粹简单,大多是原创,大家都是抱着交流技术的心态发表自己对技术的理解,这点我个人非常喜欢,也希望跟掘金还有掘金里面的技术大牛们共同进步。

有发文章的想法是前段时间写一个产品的需求遇到了一些问题,在掘金以及很多其他社区上很多没有找到,这也很可能是我检索的关键词有问题。作为一个刚入行的前端菜鸟,希望大牛们发现了错误能及时指正。

第一篇文章写Echarts配置的原因很简单:一是目前在职的公司用到的比较多,有用到可以偷个懒;二是公司网络比较慢导致Echarts的官网有时进不去;三是Echarts的文档算是比较友善,我还算能看懂。

接下来就是Echarts最基础的文本标题配置以下配置只针对图片红框内文本。实现如图效果请将title对象中link到title配置对象结束位置注释即可。

title配置.png

    <!-- html代码与script引入 -->
    <div id="myChart"></div>
    <script src="./js/echarts.js"></script>
<script>
    var myChart = echarts.init(document.getElementById('myChart'), null, {
        width: 1498,
        height: 375
    }); // 该配置为放置图表的Dom元素,图表宽高
        
    var option = { // 定义变量接收配置对象
        title: { // Object 图表标题配置
            id: '', // String 组件 ID。默认不指定。指定则可用于在 option 或者 API 中引用组件。
            show: true, // Boolean 是否显示标题组件。默认为 true
            text: 'ECharts基础图表', // String 主标题文本,支持使用 \n 换行。
            link: '', // String 主标题文本超链接 (可不写) 作用等同于 a标签中的 href 属性
            target: '', // String 指定窗口打开主标题超链接。 可选:self:当前窗口打开;blank:新窗口打开
            textStyle: { // Object 主题文字样式
                color: '', // Color 主标题文字颜色
                fontStyle: '', // String 主标题文字字体的风格  可选: normal、italic、oblique
                fontWeight: '', // String/Number 主标题文字字体的粗细  可选: normal、bold、bolder、lighter、数字: 100|200|300|400|...
                fontFamily: '', // String 主标题文字的字体系列 
                fontSize: '', // Number 主标题文字的字体大小
                lineHeight: '', // Number 行高
                rich: { // Object rich中如果没有设置lineHeight,则会继承 lineHeight
                    // 在 rich 里面,可以自定义富文本样式。利用富文本样式,可以在标签中做出非常丰富的效果。以下时官网的例子
                    a: {
                        color: 'red',
                        lineHeight: 10
                    },
                    b: {
                        backgroundColor: {
                            image: 'xxx/xxx.jpg'
                        },
                        height: 40
                    },
                    x: {
                        fontSize: 18,
                        fontFamily: 'Microsoft YaHei',
                        borderColor: '#449933',
                        borderRadius: 4
                    },
                },
                width: '', // Number 文本显示宽度
                height: '', // Number 文本显示高度
                textBorderColor: '', // Color 文字本身的描边颜色
                textBorderWidth: '', // Number 文字本身的描边宽度
                textBorderType: '', // String/Number/Array  文字本身的描边类型   可选:solid/dashed/dotted
                textBorderDashOffset: '', // Number 自 v5.0.0 开始支持,也可以是 number 或者 number 数组,用于设置虚线的偏移量,可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。[ 更多详情可以参考 MDN ](https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/lineDashOffset)
                textShadowColor: '', // Color 文字本身的阴影颜色
                textShadowBlur: '', // Number 文字本身的阴影长度
                textShadowOffsetX: '', // Number 文字本身的阴影X偏移
                textShadowOffsetY: '', // Number 文字本身的阴影Y偏移
                overflow: '', // String 文本超出宽度是否截断或者换行。配置width时有效。可选:'truncate' 截断,并在末尾显示ellipsis配置的文本,默认为...;'break' 换行;'breakAll' 换行,跟'break'不同的是,在英语等拉丁文中,'breakAll'还会强制单词内换行
                ellipsis: '', // String 在overflow配置为'truncate'的时候,可以通过该属性配置末尾显示自定义文本。
            },
            subtext: '副标题', // String 副标题文本,支持 \n 换行
            sublink:'', // String 副标题文本超链接
            subtarget:'', // String 指定窗口打开副标题超链接,可选:self:当前窗口打开;blank:新窗口打开
            subtextStyle:{ // Object 副标题文本样式
                color:'', // Color 副标题文字的颜色
                fontStyle: '', // String 副标题文字字体的风格  可选: normal、italic、oblique
                fontWeight: '', // String/Number 副标题文字字体的粗细  可选: normal、bold、bolder、lighter、数字: 100|200|300|400|...
                fontFamily: '', // String 副标题文字的字体系列 
                fontSize: '', // Number 副标题文字的字体大小
                align:'', // String 文字水平对齐方式,默认自动,可选:left,center,right
                verticalAlign:'', // String 文字垂直对齐方式,默认自动  可选:top,middle,bottom
                lineHeight:'', // Number 行高
                formatter: [  // 此配置为下方rich提供文本支持
                    '{a|这段文本采用样式a}',
                    '{b|这段文本采用样式b}这段用默认样式{x|这段用样式x}'
                ],
                rich:{ // Object rich 中如果没有设置 align,则会继承父层级的 align,verticalAlign,lineHeight
                    // 在文本中,可以对部分文本采用 rich 中定义样式。
                    // 这里需要在文本中使用标记符号:
                    // `{styleName|text content text content}` 标记样式名。
                    // 注意,换行仍是使用 '\n'。
                    a: {
                        color: 'red',
                        lineHeight: 10
                    },
                    b: {
                        backgroundColor: {
                            image: 'xxx/xxx.jpg'
                        },
                        height: 40
                    },
                    x: {
                        fontSize: 18,
                        fontFamily: 'Microsoft YaHei',
                        borderColor: '#449933',
                        borderRadius: 4
                    },
                },
                width:'', // Number 文本显示宽度
                height:'', // Number 文本显示高度
                textBorderColor:'', // Color 文本本身的描边颜色
                textBorderWidth:'', // Number 文本本身的描边宽度
                textBorderType:'', // String/Number/Array 文字本身的描边类型   可选:solid/dashed/dotted
                textBorderDashOffset: '', // Number 自 v5.0.0 开始支持,也可以是 number 或者 number 数组,用于设置虚线的偏移量,可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。[更多详情可以参考 MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/lineDashOffset)
                textShadowColor:'', // Color 文字本身的阴影颜色
                textShadowBlur:'', // Number 文字本身的阴影长度
                textShadowOffsetX:'', // Number 文字本身的阴影 X 偏移
                textShadowOffsetY:'', // Number 文字本身的阴影 Y 偏移
                overflow:'', // String 文字超出宽度是否截断或者换行。配置width时有效  可选:'truncate' 截断,并在末尾显示ellipsis配置的文本,默认为...;'break' 换行;'breakAll' 换行,跟'break'不同的是,在英语等拉丁文中,'breakAll'还会强制单词内换行
                ellipsis: '', // String 在overflow配置为'truncate'的时候,可以通过该属性配置末尾显示自定义文本。
            },
            textAlign:'', // String 整体(包括 text 和 subtext)的水平对齐  可选值:'auto'、'left'、'right'、'center'
            textVerticalAlign:'', // String 整体(包括 text 和 subtext)的垂直对齐   可选值:'auto'、'top'、'bottom'、'middle'
            triggerEvent:'', // Boolean 是否触发事件
            padding:'', // Number/Array 标题内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距  2个值number数组[number(上下),number(左右)] / 4个值number数组[number(上),number(右),number(下),number(左)]
            itemGap:'', // Number 主副标题之间的间距
            zlevel:'', // Number 所有图形的 zlevel 值   zlevel用于 Canvas 分层,不同zlevel值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的zlevel。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
            z:'', // Number 组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。z相比zlevel优先级更低,而且不会创建新的 Canvas。
            left:'', // String/Number title 组件离容器左侧的距离    left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,也可以是 'left', 'center', 'right'。如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。(下方top同理)
            top:'', // String/Number title 组件离容器上侧的距离     
            right:'', // String/Number title 组件离容器右侧的距离   right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,默认自适应。(下方bottom同理)
            bottom:'', // String/Number title 组件离容器下侧的距离
            backgroundColor:'', // Color 标题背景色,默认透明   颜色可以使用 RGB 表示,比如 'rgb(128, 128, 128)' ,如果想要加上 alpha 通道,可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六进制格式,比如 '#ccc'
            borderColor:'', // Color 标题的边框颜色。支持的颜色格式同 backgroundColor
            borderWidth:'', // Number 标题的边框线宽
            borderRadius:'', // Number/Array 圆角半径,单位px,支持传入数组分别指定4个圆角半径,数组方向[左上,右上,右下,左下]
            shadowBlur:'', // Number 图形阴影的模糊大小。该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。 注意:此配置项生效的前提是,设置了 show: true(title以下其他配置同理), 以及值不为 tranparent 的背景色 backgroundColor。
            shadowColor:'', // Color 阴影颜色。支持的格式同color
            shadowOffsetX:'', // Number 阴影水平方向上的偏移距离
            shadowOffsetY:'', // Number 阴影垂直方向上的偏移距离

        },
        legend: {
            data: ['强度'] // 头部提示对应的值
        },
        xAxis: {
            data: ['周一', '周二', '周三', '周四', '周五'] // x轴刻度配置
        },
        yAxis: [{
            type: 'value',
            name: '工作强度(%)', // y轴文字说明
            axisLine: {
                show: true, // 配置y轴是否显示  默认false
                lineStyle: { //配置y轴颜色
                    color: 'black', //  颜色 ——>支持单词 / 十六进制
                }
            }
        }],
        series: [{
            name: '强度',
            type: 'line', // 折线图,bar为柱状图用的比较多,更多配置可以等我更新,也可官网自行查看
            data: [5, 20, 23, 10, 10] // 图表的值
        }]
    };
        
    myChart.setOption(option); // 将配置的对象加入实例化的myChart
</script>

以上就是这期的内容了,下期不定时更新,工作之余抽空整理的,觉得写的不好或者有什么建议欢迎留言。有什么技术也欢迎在评论区大家共同探讨。