import { Component, OnInit } from '@angular/core'; import { HighlightResult } from 'ngx-highlightjs'; import { NzMessageService } from 'ng-zorro-antd/message'; @Component({ selector: 'app-negative-bar-chart', templateUrl: './negative-bar-chart.component.html', styleUrls: ['./negative-bar-chart.component.scss'] }) export class NegativeBarChartComponent implements OnInit { constructor(private message: NzMessageService) { } response: HighlightResult; typeScriptCode = `import { Component, OnInit } from '@angular/core'; import { CommomService } from 'src/app/core/services/commom.service' @Component({ selector: 'app-negative-bar-sub-chart-new', templateUrl: './negative-bar-sub-chart-new.component.html', styleUrls: ['./negative-bar-sub-chart-new.component.scss'] }) export class NegativeBarSubChartNewComponent implements OnInit { constructor( private commonService: CommomService ) { } bcacChartTitle: string = ""; bcacFileName: string = ""; bcacYAxisName: string = "" bcacChartloading: boolean = true; bcacTooltipUnit: string = ""; bcacData; ngOnInit() { let style = this.commonService.changeFontSize() this.bcacChartTitle = "行政区达标率" this.bcacFileName = "行政区达标率" this.initChart(style); } initChart(style) { let datas = this.makeData(50, 7, 16); let params = { datas: datas, seriesNames: [ "东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区" ], }; this.bcacYAxisName = "达标率(%)"; this.bcacData = params; } // 数据模拟 private makeData(baseValue, number, seriesNumber): any[] { let seriesDatas = []; for (let j = 0; j < seriesNumber; j++) { let datas = []; if (j % 3 == 0) { baseValue = 40; } else { baseValue = 70; } let funcZones = ["0类", "1类", "2类", "3类", "4a类", "4b类"]; if (number > funcZones.length) { number = funcZones.length; } for (let i = 0; i < number; i++) { let value = ( baseValue + 10 * Math.random() ).toFixed(1); datas.push([funcZones[i], value]); } seriesDatas.push(datas); } return seriesDatas; } } `; htmlCode = ` import { ChartModule } from 'bcac-lib/business-component/chart'; @NgModule({ declarations: [], imports: [ ChartModule ] }) `; scssCode = ``; ngOnInit() { } copied($event) { if ($event.isSuccess) { this.message.success('复制成功') } } apiData = [ { param: "[bcacChartTitleText]", desc: "图形标题", type: "string", defaultValue: '图表名' }, { param: "[bcacChartShowTitle]", desc: "是否显示图形标题", type: "boolean", defaultValue: 'true' }, { param: "[bcacChartShowLegend]", desc: "是否显示legend图例", type: "boolean", defaultValue: 'true' }, { param: "[bcacChartFileName]", desc: "下载图片名", type: "string", defaultValue: '图表' }, { param: "[bcacChartLoading]", desc: '图片加载等待', type: "boolean", defaultValue: 'false' }, { param: "[bcacTooltipUnit]", desc: 'tooltip单位', type: "string", defaultValue: "''" }, { param: "[bcacTranslationNumber]", desc: 'y轴翻转的数值', type: "number", defaultValue: 0 }, { param: "[bcacChartShowToolbox]", desc: '图片是否显示工具栏', type: "Boolean", defaultValue: 'true' }, { param: "[bcacXAxisName]", desc: '设置x轴名称', type: "string", defaultValue: "''" }, { param: "[bcacYAxisName]", desc: '设置y轴名称', type: "string", defaultValue: "''" }, { param: "[bcacYAxisNameGap]", desc: '设置y轴名称距离', type: "number", defaultValue: 'true' }, { param: "[bcacXAxisLabelRotate]", desc: '设置x轴label旋转', type: "'leftSmallAngle'|'leftBigAngle'|'rightSmallAngle'|'rightBigAngle'", defaultValue: '-' }, { param: "[bcacYAxisLabelRotate]", desc: '设置y轴label旋转', type: "'leftSmallAngle'|'leftBigAngle'|'rightSmallAngle'|'rightBigAngle'", defaultValue: '-' }, { param: "[bcacChartData]", desc: '图片数据', type: "object 详情见下", defaultValue: 'false' }, { param: "(bcacGetChartInstance)", desc: '获取当前echart实例', type: "EventEmitter<>", defaultValue: '-' }, ] bcacChartData = [ { field: "seriesNames", type: 'string[]', required: true, eg: '["东城区","西城区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","怀柔区","平谷区","密云区","延庆区"]', desc: "系列名" }, { field: "datas", type: "string[][][]", required: true, eg: '', desc: "二维数组的数量与系列名的数量一致,一维数组的格式是[x轴的值,值]" } ] }