You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1227 lines
36 KiB
1227 lines
36 KiB
4 years ago
|
<template>
|
||
|
<view class="qiun-columns">
|
||
|
<view class="qiun-padding" style="font-size: 32rpx;">
|
||
|
<text>{{tips}}</text>
|
||
|
</view>
|
||
|
<view class="qiun-padding">
|
||
|
<view class="qiun-tip" @tap="changeData()">更新柱状图数据</view>
|
||
|
</view>
|
||
|
<view class="qiun-title-bar" style="background-color: #E5FDC3;">
|
||
|
<view class="qiun-title-dot-light">柱状图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts" style="background-color: #E5FDC3;">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasColumn" id="canvasColumn" class="charts" style="background-color: #E5FDC3;" :width="cWidth*pixelRatio"
|
||
|
:height="cHeight*pixelRatio" :style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchIt($event,'canvasColumn')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasColumn" id="canvasColumn" class="charts" style="background-color: #E5FDC3;" @touchstart="touchIt($event,'canvasColumn')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">温度计式图表</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasColumnMeter" id="canvasColumnMeter" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchIt($event,'canvasColumnMeter')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasColumnMeter" id="canvasColumnMeter" class="charts" @touchstart="touchIt($event,'canvasColumnMeter')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">混合图(单坐标系支持画点、线、面、柱)</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasMix" id="canvasMix" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" disable-scroll=true @touchstart="touchMix" @touchmove="moveMix"
|
||
|
@touchend="touchEndMix"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasMix" id="canvasMix" class="charts" disable-scroll=true @touchstart="touchMix" @touchmove="moveMix"
|
||
|
@touchend="touchEndMix"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt qiun-rows">
|
||
|
<view class="qiun-title-dot-light">K线图(蜡烛图)</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasCandle" id="canvasCandle" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" disable-scroll=true @touchstart="touchCandle" @touchmove="moveCandle"
|
||
|
@touchend="touchEndCandle"></canvas>
|
||
|
<!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasCandle" id="canvasCandle" class="charts" disable-scroll=true @touchstart="touchCandle"
|
||
|
@touchmove="moveCandle" @touchend="touchEndCandle"></canvas>
|
||
|
<!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-padding">
|
||
|
<view class="qiun-tip" @tap="changeGaugeData()">更新仪表盘数据</view>
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">仪表盘</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasGauge" id="canvasGauge" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasGauge" id="canvasGauge" class="charts"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">圆弧进度图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts3">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasArcbar1" id="canvasArcbar1" class="charts3" :style="{'width':cWidth3*pixelRatio+'px','height':cHeight3*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':-cWidth3*(pixelRatio-1)/2+'px','margin-top':-cHeight3*(pixelRatio-1)/2+'px'}"></canvas>
|
||
|
<canvas canvas-id="canvasArcbar2" id="canvasArcbar2" class="charts3" :style="{'width':cWidth3*pixelRatio+'px','height':cHeight3*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':cWidth3-cWidth3*(pixelRatio-1)/2+'px','margin-top':-cHeight3*(pixelRatio-1)/2+'px'}"></canvas>
|
||
|
<canvas canvas-id="canvasArcbar3" id="canvasArcbar3" class="charts3" :style="{'width':cWidth3*pixelRatio+'px','height':cHeight3*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':cWidth3*2-cWidth3*(pixelRatio-1)/2+'px','margin-top':-cHeight3*(pixelRatio-1)/2+'px'}"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasArcbar1" id="canvasArcbar1" class="charts3"></canvas>
|
||
|
<canvas canvas-id="canvasArcbar2" id="canvasArcbar2" class="charts3" style="margin-left: 250rpx;"></canvas>
|
||
|
<canvas canvas-id="canvasArcbar3" id="canvasArcbar3" class="charts3" style="margin-left: 500rpx;"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">漏斗图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasFunnel" id="canvasFunnel" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchPie($event,'canvasFunnel')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasFunnel" id="canvasFunnel" class="charts" @touchstart="touchPie($event,'canvasFunnel')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">折线图一(可横向拖拽带滚动条)</view>
|
||
|
<!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasLineA" id="canvasLineA" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" disable-scroll=true @touchstart="touchLineA" @touchmove="moveLineA"
|
||
|
@touchend="touchEndLineA"></canvas>
|
||
|
<!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasLineA" id="canvasLineA" class="charts" disable-scroll=true @touchstart="touchLineA"
|
||
|
@touchmove="moveLineA" @touchend="touchEndLineA"></canvas>
|
||
|
<!-- 使用图表拖拽功能时,建议给canvas增加disable-scroll=true属性,在拖拽时禁止屏幕滚动 -->
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">折线图二(横屏图表)</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts-rotate">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasLineB" id="canvasLineB" class="charts-rotate" :style="{'width':cWidth2*pixelRatio+'px','height':cHeight2*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':-cWidth2*(pixelRatio-1)/2+'px','margin-top':-cHeight2*(pixelRatio-1)/2+'px'}"
|
||
|
@touchstart="touchIt($event,'canvasLineB')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasLineB" id="canvasLineB" class="charts-rotate" @touchstart="touchIt($event,'canvasLineB')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">区域图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasArea" id="canvasArea" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchIt($event,'canvasArea')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasArea" id="canvasArea" class="charts" @touchstart="touchIt($event,'canvasArea')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">饼状图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasPie" id="canvasPie" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchPie($event,'canvasPie')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasPie" id="canvasPie" class="charts" @touchstart="touchPie($event,'canvasPie')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">环形图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasRing" id="canvasRing" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchPie($event,'canvasRing')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasRing" id="canvasRing" class="charts" @touchstart="touchPie($event,'canvasRing')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
<view class="qiun-bg-white qiun-title-bar qiun-common-mt">
|
||
|
<view class="qiun-title-dot-light">雷达图</view>
|
||
|
</view>
|
||
|
<view class="qiun-charts">
|
||
|
<!--#ifdef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasRadar" id="canvasRadar" class="charts" :width="cWidth*pixelRatio" :height="cHeight*pixelRatio"
|
||
|
:style="{'width':cWidth+'px','height':cHeight+'px'}" @touchstart="touchPie($event,'canvasRadar')"></canvas>
|
||
|
<!--#endif-->
|
||
|
<!--#ifndef MP-ALIPAY -->
|
||
|
<canvas canvas-id="canvasRadar" id="canvasRadar" class="charts" @touchstart="touchPie($event,'canvasRadar')"></canvas>
|
||
|
<!--#endif-->
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import uCharts from '../../../components/u-charts/u-charts.js';
|
||
|
var _self;
|
||
|
var canvasObj = {};
|
||
|
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
cWidth: '',
|
||
|
cHeight: '',
|
||
|
cWidth2: '', //横屏图表
|
||
|
cHeight2: '', //横屏图表
|
||
|
cWidth3: '', //圆弧进度图
|
||
|
cHeight3: '', //圆弧进度图
|
||
|
arcbarWidth: '', //圆弧进度图,进度条宽度,此设置可使各端宽度一致
|
||
|
gaugeWidth: '', //仪表盘宽度,此设置可使各端宽度一致
|
||
|
tips: '',
|
||
|
pixelRatio: 1,
|
||
|
serverData: '',
|
||
|
itemCount: 30, //x轴单屏数据密度
|
||
|
sliderMax: 50
|
||
|
}
|
||
|
},
|
||
|
onLoad() {
|
||
|
_self = this;
|
||
|
//#ifdef MP-ALIPAY
|
||
|
uni.getSystemInfo({
|
||
|
success: function(res) {
|
||
|
if (res.pixelRatio > 1) {
|
||
|
//正常这里给2就行,如果pixelRatio=3性能会降低一点
|
||
|
//_self.pixelRatio =res.pixelRatio;
|
||
|
_self.pixelRatio = 2;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
//#endif
|
||
|
this.cWidth = uni.upx2px(750);
|
||
|
this.cHeight = uni.upx2px(500);
|
||
|
this.cWidth2 = uni.upx2px(700);
|
||
|
this.cHeight2 = uni.upx2px(1100);
|
||
|
this.cWidth3 = uni.upx2px(250);
|
||
|
this.cHeight3 = uni.upx2px(250);
|
||
|
this.arcbarWidth = uni.upx2px(24);
|
||
|
this.gaugeWidth = uni.upx2px(30);
|
||
|
|
||
|
//this.fillData(Data);
|
||
|
},
|
||
|
onReady() {
|
||
|
this.getServerData();
|
||
|
},
|
||
|
methods: {
|
||
|
getServerData() {
|
||
|
uni.showLoading({
|
||
|
title: "正在加载数据..."
|
||
|
})
|
||
|
uni.request({
|
||
|
url: 'https://unidemo.dcloud.net.cn/hello-uniapp-ucharts-data.json',
|
||
|
data: {},
|
||
|
success: function(res) {
|
||
|
_self.fillData(res.data);
|
||
|
},
|
||
|
fail: () => {
|
||
|
_self.tips = "网络错误,小程序端请检查合法域名";
|
||
|
},
|
||
|
complete() {
|
||
|
uni.hideLoading();
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
fillData(data) {
|
||
|
this.serverData = data;
|
||
|
this.tips = data.tips;
|
||
|
this.sliderMax = data.Candle.categories.length;
|
||
|
let Column = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let ColumnMeter = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let LineA = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let LineB = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let Area = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let Pie = {
|
||
|
series: []
|
||
|
};
|
||
|
let Ring = {
|
||
|
series: []
|
||
|
};
|
||
|
let Funnel = {
|
||
|
series: []
|
||
|
};
|
||
|
let Radar = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let Arcbar1 = {
|
||
|
series: []
|
||
|
};
|
||
|
let Arcbar2 = {
|
||
|
series: []
|
||
|
};
|
||
|
let Arcbar3 = {
|
||
|
series: []
|
||
|
};
|
||
|
let Gauge = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let Candle = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
let Mix = {
|
||
|
categories: [],
|
||
|
series: []
|
||
|
};
|
||
|
//这里我后台返回的是数组,所以用等于,如果您后台返回的是单条数据,需要push进去
|
||
|
Column.categories = data.Column.categories;
|
||
|
//这里的series数据是后台做好的,如果您的数据没有和前面我注释掉的格式一样,请自行拼接数据
|
||
|
Column.series = data.Column.series;
|
||
|
ColumnMeter.categories = data.ColumnMeter.categories;
|
||
|
//这里的series数据,如果为Meter,series[0]定义为外层数据,series[1]定义为内层数据
|
||
|
ColumnMeter.series = data.ColumnMeter.series;
|
||
|
LineA.categories = data.LineA.categories;
|
||
|
LineA.series = data.LineA.series;
|
||
|
LineB.categories = data.LineB.categories;
|
||
|
LineB.series = data.LineB.series;
|
||
|
Area.categories = data.Area.categories;
|
||
|
Area.series = data.Area.series;
|
||
|
Pie.series = data.Pie.series;
|
||
|
Ring.series = data.Ring.series;
|
||
|
Funnel.series = data.Pie.series;
|
||
|
//自定义文案示例,需设置format字段
|
||
|
for (let i = 0; i < Ring.series.length; i++) {
|
||
|
Ring.series[i].format = () => {
|
||
|
return Ring.series[i].name + Ring.series[i].data
|
||
|
};
|
||
|
}
|
||
|
Radar.categories = data.Radar.categories;
|
||
|
Radar.series = data.Radar.series;
|
||
|
Arcbar1.series = data.Arcbar1.series;
|
||
|
Arcbar2.series = data.Arcbar2.series;
|
||
|
Arcbar3.series = data.Arcbar3.series;
|
||
|
Gauge.categories = data.Gauge.categories;
|
||
|
Gauge.series = data.Gauge.series;
|
||
|
Candle.categories = data.Candle.categories;
|
||
|
Candle.series = data.Candle.series;
|
||
|
Mix.categories = data.Mix.categories;
|
||
|
Mix.series = data.Mix.series;
|
||
|
this.showColumn("canvasColumn", Column);
|
||
|
this.showColumnMeter("canvasColumnMeter", ColumnMeter);
|
||
|
this.showLineA("canvasLineA", LineA);
|
||
|
this.showLineB("canvasLineB", LineB);
|
||
|
this.showArea("canvasArea", Area);
|
||
|
this.showPie("canvasPie", Pie);
|
||
|
this.showRing("canvasRing", Ring);
|
||
|
this.showFunnel("canvasFunnel", Funnel);
|
||
|
this.showRadar("canvasRadar", Radar);
|
||
|
this.showArcbar("canvasArcbar1", Arcbar1);
|
||
|
this.showArcbar2("canvasArcbar2", Arcbar2);
|
||
|
this.showArcbar3("canvasArcbar3", Arcbar3);
|
||
|
this.showGauge("canvasGauge", Gauge);
|
||
|
this.showCandle("canvasCandle", Candle);
|
||
|
this.showMix("canvasMix", Mix);
|
||
|
},
|
||
|
showColumn(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'column',
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 0,
|
||
|
},
|
||
|
fontSize: 11,
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
animation: false,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
xAxis: {
|
||
|
disableGrid: true,
|
||
|
},
|
||
|
yAxis: {
|
||
|
format: (val) => {
|
||
|
return val.toFixed(0) + '元'
|
||
|
}
|
||
|
},
|
||
|
dataLabel: true,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
extra: {
|
||
|
column: {
|
||
|
type: 'group',
|
||
|
width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
showColumnMeter(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'column',
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 0,
|
||
|
},
|
||
|
fontSize: 11,
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
animation: false,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
xAxis: {
|
||
|
disableGrid: true,
|
||
|
},
|
||
|
yAxis: {
|
||
|
//disabled:true
|
||
|
},
|
||
|
dataLabel: true,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
extra: {
|
||
|
column: {
|
||
|
type: 'meter',
|
||
|
width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length,
|
||
|
meter: {
|
||
|
border: 4,
|
||
|
fillColor: '#E5FDC3'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showLineA(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'line',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 5,
|
||
|
},
|
||
|
dataLabel: false,
|
||
|
dataPointShape: false,
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
enableScroll: true, //开启图表拖拽功能
|
||
|
xAxis: {
|
||
|
disableGrid: false,
|
||
|
type: 'grid',
|
||
|
gridType: 'dash',
|
||
|
itemCount: 4,
|
||
|
scrollShow: true,
|
||
|
scrollAlign: 'left',
|
||
|
//scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF
|
||
|
//scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6
|
||
|
},
|
||
|
yAxis: {
|
||
|
//disabled:true
|
||
|
gridType: 'dash',
|
||
|
splitNumber: 8,
|
||
|
min: 10,
|
||
|
max: 180,
|
||
|
format: (val) => {
|
||
|
return val.toFixed(0) + '元'
|
||
|
} //如不写此方法,Y轴刻度默认保留两位小数
|
||
|
},
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
dataPointShape: true,
|
||
|
extra: {
|
||
|
lineStyle: 'straight'
|
||
|
},
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showLineB(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'line',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 5,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
rotate: true, //开启图表横屏
|
||
|
// #ifdef MP-ALIPAY
|
||
|
rotateLock: true, //百度及支付宝需要锁定旋转
|
||
|
// #endif
|
||
|
categories: chartData.categories,
|
||
|
animation: false,
|
||
|
series: chartData.series,
|
||
|
xAxis: {
|
||
|
disableGrid: true,
|
||
|
},
|
||
|
yAxis: {
|
||
|
//disabled:true
|
||
|
},
|
||
|
width: _self.cWidth2 * _self.pixelRatio,
|
||
|
height: _self.cHeight2 * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
dataPointShape: true,
|
||
|
extra: {
|
||
|
lineStyle: 'curve'
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
showArea(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'area',
|
||
|
fontSize: 11,
|
||
|
padding: [0, 15, 10, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
position: 'top',
|
||
|
float: 'center',
|
||
|
itemGap: 30,
|
||
|
padding: 5,
|
||
|
lineHeight: 18,
|
||
|
margin: 0,
|
||
|
},
|
||
|
dataLabel: false,
|
||
|
dataPointShape: true,
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
xAxis: {
|
||
|
type: 'grid',
|
||
|
gridColor: '#CCCCCC',
|
||
|
gridType: 'dash',
|
||
|
dashLength: 8,
|
||
|
boundaryGap: 'justify' //两端不留白配置
|
||
|
},
|
||
|
yAxis: {
|
||
|
gridType: 'dash',
|
||
|
gridColor: '#CCCCCC',
|
||
|
dashLength: 8,
|
||
|
splitNumber: 5,
|
||
|
},
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
extra: {
|
||
|
area: {
|
||
|
type: 'curve',
|
||
|
opacity: 0.2,
|
||
|
addLine: true,
|
||
|
width: 2
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
showPie(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'pie',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 0,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
extra: {
|
||
|
pie: {
|
||
|
lableWidth: 15
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
showRing(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'ring',
|
||
|
fontSize: 11,
|
||
|
padding: [5, 5, 5, 5],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
position: 'right',
|
||
|
float: 'center',
|
||
|
itemGap: 10,
|
||
|
padding: 5,
|
||
|
lineHeight: 26,
|
||
|
margin: 5,
|
||
|
//backgroundColor:'rgba(41,198,90,0.2)',
|
||
|
//borderColor :'rgba(41,198,90,0.5)',
|
||
|
borderWidth: 1
|
||
|
},
|
||
|
title: {
|
||
|
name: '70%',
|
||
|
color: '#7cb5ec',
|
||
|
fontSize: 25 * _self.pixelRatio,
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: '收益率',
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio,
|
||
|
},
|
||
|
extra: {
|
||
|
pie: {
|
||
|
lableWidth: 15,
|
||
|
ringWidth: 40 * _self.pixelRatio, //圆环的宽度
|
||
|
offsetAngle: 0 //圆环的角度
|
||
|
}
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
disablePieStroke: true,
|
||
|
dataLabel: true,
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showFunnel(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'funnel',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 0,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
extra: {
|
||
|
funnel: {
|
||
|
border: true,
|
||
|
borderWidth: 2,
|
||
|
borderColor: '#FFFFFF'
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
showRadar(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'radar',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 0,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
animation: false,
|
||
|
dataLabel: true,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
extra: {
|
||
|
radar: {
|
||
|
max: 200 //雷达数值的最大值
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
showArcbar(canvasId, chartData) {
|
||
|
new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'arcbar',
|
||
|
fontSize: 11,
|
||
|
title: {
|
||
|
name: Math.round(chartData.series[0].data * 100) + '%',
|
||
|
color: chartData.series[0].color,
|
||
|
fontSize: 25 * _self.pixelRatio
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: chartData.series[0].name,
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio
|
||
|
},
|
||
|
extra: {
|
||
|
arcbar: {
|
||
|
type: 'default',
|
||
|
width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
|
||
|
}
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth3 * _self.pixelRatio,
|
||
|
height: _self.cHeight3 * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showArcbar2(canvasId, chartData) {
|
||
|
new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'arcbar',
|
||
|
fontSize: 11,
|
||
|
title: {
|
||
|
name: Math.round(chartData.series[0].data * 100) + '%',
|
||
|
color: chartData.series[0].color,
|
||
|
fontSize: 25 * _self.pixelRatio
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: chartData.series[0].name,
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio
|
||
|
},
|
||
|
extra: {
|
||
|
arcbar: {
|
||
|
type: 'default',
|
||
|
width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
|
||
|
backgroundColor: '#ffe3e8',
|
||
|
startAngle: 1.25,
|
||
|
endAngle: 0.75
|
||
|
}
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth3 * _self.pixelRatio,
|
||
|
height: _self.cHeight3 * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showArcbar3(canvasId, chartData) {
|
||
|
new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'arcbar',
|
||
|
fontSize: 11,
|
||
|
title: {
|
||
|
name: Math.round(chartData.series[0].data * 100) + '%',
|
||
|
color: chartData.series[0].color,
|
||
|
fontSize: 25 * _self.pixelRatio
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: chartData.series[0].name,
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio
|
||
|
},
|
||
|
extra: {
|
||
|
arcbar: {
|
||
|
type: 'circle', //整圆类型进度条图
|
||
|
width: _self.arcbarWidth * _self.pixelRatio, //圆弧的宽度
|
||
|
startAngle: 0.5 //整圆类型只需配置起始角度即可
|
||
|
}
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
width: _self.cWidth3 * _self.pixelRatio,
|
||
|
height: _self.cHeight3 * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
});
|
||
|
|
||
|
},
|
||
|
showGauge(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'gauge',
|
||
|
fontSize: 11,
|
||
|
title: {
|
||
|
name: Math.round(chartData.series[0].data * 100) + '%',
|
||
|
color: chartData.categories[1].color,
|
||
|
fontSize: 25 * _self.pixelRatio,
|
||
|
offsetY: 50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: chartData.series[0].name,
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio,
|
||
|
offsetY: -50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
|
||
|
},
|
||
|
extra: {
|
||
|
gauge: {
|
||
|
type: 'default',
|
||
|
width: _self.gaugeWidth * _self.pixelRatio, //仪表盘背景的宽度
|
||
|
startAngle: 0.75,
|
||
|
endAngle: 0.25,
|
||
|
startNumber: 0,
|
||
|
endNumber: 100,
|
||
|
splitLine: {
|
||
|
fixRadius: 0,
|
||
|
splitNumber: 10,
|
||
|
width: _self.gaugeWidth * _self.pixelRatio, //仪表盘背景的宽度
|
||
|
color: '#FFFFFF',
|
||
|
childNumber: 5,
|
||
|
childWidth: _self.gaugeWidth * 0.4 * _self.pixelRatio, //仪表盘背景的宽度
|
||
|
},
|
||
|
pointer: {
|
||
|
width: _self.gaugeWidth * 0.8 * _self.pixelRatio, //指针宽度
|
||
|
color: 'auto'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
animation: true,
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
});
|
||
|
},
|
||
|
changeGaugeData() {
|
||
|
let series = [{
|
||
|
name: "完成率",
|
||
|
data: Math.random()
|
||
|
}]; //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组
|
||
|
//这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义
|
||
|
let newTitleColor;
|
||
|
for (let i = 0; i < _self.serverData.Gauge.categories.length; i++) {
|
||
|
if (series[0].data <= _self.serverData.Gauge.categories[i].value) {
|
||
|
newTitleColor = _self.serverData.Gauge.categories[i].color;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
canvasObj['canvasGauge'].updateData({
|
||
|
series: series, //这里给了新数值
|
||
|
categories: _self.serverData.Gauge.categories,
|
||
|
title: {
|
||
|
name: Math.round(series[0].data * 100) + '%',
|
||
|
color: newTitleColor,
|
||
|
fontSize: 25 * _self.pixelRatio,
|
||
|
offsetY: 50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
|
||
|
},
|
||
|
subtitle: {
|
||
|
name: '更新数据',
|
||
|
color: '#666666',
|
||
|
fontSize: 15 * _self.pixelRatio,
|
||
|
offsetY: -50 * _self.pixelRatio, //新增参数,自定义调整Y轴文案距离
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
showCandle(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'candle',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 8,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
enableMarkLine: true,
|
||
|
/***需要开启标记线***/
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
animation: true,
|
||
|
enableScroll: true, //开启图表拖拽功能
|
||
|
xAxis: {
|
||
|
disableGrid: true, //不绘制X轴网格线
|
||
|
labelCount: 4, //X轴文案数量
|
||
|
//type:'grid',
|
||
|
//gridType:'dash',
|
||
|
itemCount: _self.itemCount, //可不填写,配合enableScroll图表拖拽功能使用,x轴单屏显示数据的数量,默认为5个
|
||
|
scrollShow: true, //新增是否显示滚动条,默认false
|
||
|
scrollAlign: 'right',
|
||
|
//scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF
|
||
|
//scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6
|
||
|
},
|
||
|
yAxis: {
|
||
|
//disabled:true
|
||
|
gridType: 'dash',
|
||
|
splitNumber: 5,
|
||
|
format: (val) => {
|
||
|
return val.toFixed(0)
|
||
|
}
|
||
|
},
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: false,
|
||
|
dataPointShape: true,
|
||
|
extra: {
|
||
|
candle: {
|
||
|
color: {
|
||
|
upLine: '#f04864',
|
||
|
upFill: '#f04864',
|
||
|
downLine: '#2fc25b',
|
||
|
downFill: '#2fc25b'
|
||
|
},
|
||
|
average: {
|
||
|
show: true,
|
||
|
name: ['MA5', 'MA10', 'MA30'],
|
||
|
day: [5, 10, 20],
|
||
|
color: ['#1890ff', '#2fc25b', '#facc14']
|
||
|
}
|
||
|
},
|
||
|
tooltip: {
|
||
|
bgColor: '#000000',
|
||
|
bgOpacity: 0.7,
|
||
|
gridType: 'dash',
|
||
|
dashLength: 5,
|
||
|
gridColor: '#1890ff',
|
||
|
fontColor: '#FFFFFF',
|
||
|
horizentalLine: true,
|
||
|
xAxisLabel: true,
|
||
|
yAxisLabel: true,
|
||
|
labelBgColor: '#DFE8FF',
|
||
|
labelBgOpacity: 0.95,
|
||
|
labelAlign: 'left',
|
||
|
labelFontColor: '#666666'
|
||
|
},
|
||
|
markLine: {
|
||
|
type: 'dash',
|
||
|
dashLength: 5,
|
||
|
data: [{
|
||
|
value: 2150,
|
||
|
lineColor: '#f04864',
|
||
|
showLabel: true
|
||
|
}, {
|
||
|
value: 2350,
|
||
|
lineColor: '#f04864',
|
||
|
showLabel: true
|
||
|
}]
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
touchCandle(e) {
|
||
|
canvasObj['canvasCandle'].scrollStart(e);
|
||
|
},
|
||
|
moveCandle(e) {
|
||
|
canvasObj['canvasCandle'].scroll(e);
|
||
|
},
|
||
|
touchEndCandle(e) {
|
||
|
canvasObj['canvasCandle'].scrollEnd(e);
|
||
|
//下面是toolTip事件,如果滚动后不需要显示,可不填写
|
||
|
canvasObj['canvasCandle'].showToolTip(e, {
|
||
|
format: function(item, category) {
|
||
|
return category + ' ' + item.name + ':' + item.data
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
changeData() {
|
||
|
canvasObj['canvasColumn'].updateData({
|
||
|
series: _self.serverData.ColumnB.series,
|
||
|
categories: _self.serverData.ColumnB.categories
|
||
|
});
|
||
|
},
|
||
|
touchLineA(e) {
|
||
|
canvasObj['canvasLineA'].scrollStart(e);
|
||
|
},
|
||
|
moveLineA(e) {
|
||
|
canvasObj['canvasLineA'].scroll(e);
|
||
|
},
|
||
|
touchEndLineA(e) {
|
||
|
canvasObj['canvasLineA'].scrollEnd(e);
|
||
|
//下面是toolTip事件,如果滚动后不需要显示,可不填写
|
||
|
canvasObj['canvasLineA'].showToolTip(e, {
|
||
|
format: function(item, category) {
|
||
|
return category + ' ' + item.name + ':' + item.data
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
showMix(canvasId, chartData) {
|
||
|
canvasObj[canvasId] = new uCharts({
|
||
|
$this: _self,
|
||
|
canvasId: canvasId,
|
||
|
type: 'mix',
|
||
|
fontSize: 11,
|
||
|
padding: [15, 15, 0, 15],
|
||
|
legend: {
|
||
|
show: true,
|
||
|
padding: 5,
|
||
|
lineHeight: 11,
|
||
|
margin: 6,
|
||
|
},
|
||
|
background: '#FFFFFF',
|
||
|
pixelRatio: _self.pixelRatio,
|
||
|
categories: chartData.categories,
|
||
|
series: chartData.series,
|
||
|
animation: false,
|
||
|
enableScroll: true, //开启图表拖拽功能
|
||
|
xAxis: {
|
||
|
disableGrid: false,
|
||
|
type: 'grid',
|
||
|
gridType: 'dash',
|
||
|
itemCount: 4,
|
||
|
scrollShow: true,
|
||
|
scrollAlign: 'left',
|
||
|
},
|
||
|
yAxis: {
|
||
|
gridType: 'dash',
|
||
|
dashLength: 4,
|
||
|
splitNumber: 5,
|
||
|
min: 10,
|
||
|
max: 180,
|
||
|
format: (val) => {
|
||
|
return val.toFixed(0)
|
||
|
}
|
||
|
},
|
||
|
width: _self.cWidth * _self.pixelRatio,
|
||
|
height: _self.cHeight * _self.pixelRatio,
|
||
|
dataLabel: true,
|
||
|
dataPointShape: true,
|
||
|
extra: {
|
||
|
column: {
|
||
|
width: 20 * _self.pixelRatio
|
||
|
},
|
||
|
tooltip: {
|
||
|
bgColor: '#000000',
|
||
|
bgOpacity: 0.7,
|
||
|
gridType: 'dash',
|
||
|
dashLength: 8,
|
||
|
gridColor: '#1890ff',
|
||
|
fontColor: '#FFFFFF',
|
||
|
horizentalLine: true,
|
||
|
xAxisLabel: true,
|
||
|
yAxisLabel: true,
|
||
|
labelBgColor: '#DFE8FF',
|
||
|
labelBgOpacity: 0.95,
|
||
|
labelAlign: 'left',
|
||
|
labelFontColor: '#666666'
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
},
|
||
|
touchMix(e) {
|
||
|
canvasObj['canvasMix'].scrollStart(e);
|
||
|
},
|
||
|
moveMix(e) {
|
||
|
canvasObj['canvasMix'].scroll(e);
|
||
|
},
|
||
|
touchEndMix(e) {
|
||
|
canvasObj['canvasMix'].scrollEnd(e);
|
||
|
canvasObj['canvasMix'].touchLegend(e);
|
||
|
//下面是toolTip事件,如果滚动后不需要显示,可不填写
|
||
|
canvasObj['canvasMix'].showToolTip(e, {
|
||
|
format: function(item, category) {
|
||
|
return category + ' ' + item.name + ':' + item.data
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
touchIt(e, id) {
|
||
|
canvasObj[id].touchLegend(e, {
|
||
|
animation: false
|
||
|
});
|
||
|
canvasObj[id].showToolTip(e, {
|
||
|
format: function(item, category) {
|
||
|
if (typeof item.data === 'object') {
|
||
|
return category + ' ' + item.name + ':' + item.data.value
|
||
|
} else {
|
||
|
return category + ' ' + item.name + ':' + item.data
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
touchPie(e, id) {
|
||
|
canvasObj[id].showToolTip(e, {
|
||
|
format: function(item) {
|
||
|
return item.name + ':' + item.data
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
page {
|
||
|
background: #fff;
|
||
|
/* width: 750rpx; */
|
||
|
/* width: 100%; */
|
||
|
overflow-x: hidden;
|
||
|
}
|
||
|
|
||
|
.qiun-padding {
|
||
|
padding: 2%;
|
||
|
width: 96%;
|
||
|
}
|
||
|
|
||
|
.qiun-wrap {
|
||
|
display: flex;
|
||
|
flex-wrap: wrap;
|
||
|
}
|
||
|
|
||
|
.qiun-rows {
|
||
|
display: flex;
|
||
|
flex-direction: row !important;
|
||
|
}
|
||
|
|
||
|
.qiun-columns {
|
||
|
display: flex;
|
||
|
flex-direction: column !important;
|
||
|
}
|
||
|
|
||
|
.qiun-common-mt {
|
||
|
margin-top: 10rpx;
|
||
|
}
|
||
|
|
||
|
.qiun-bg-white {
|
||
|
background: #FFFFFF;
|
||
|
}
|
||
|
|
||
|
.qiun-title-bar {
|
||
|
width: 96%;
|
||
|
padding: 10rpx 2%;
|
||
|
flex-wrap: nowrap;
|
||
|
}
|
||
|
|
||
|
.qiun-title-dot-light {
|
||
|
border-left: 10rpx solid #0ea391;
|
||
|
padding-left: 10rpx;
|
||
|
font-size: 32rpx;
|
||
|
color: #000000
|
||
|
}
|
||
|
|
||
|
/* 通用样式 */
|
||
|
.qiun-charts {
|
||
|
/* width: 750rpx; */
|
||
|
/* width:100%; */
|
||
|
height: 500rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
}
|
||
|
|
||
|
.charts {
|
||
|
/* width: 750rpx; */
|
||
|
width:100%;
|
||
|
height: 500rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
}
|
||
|
|
||
|
/* 横屏样式 */
|
||
|
.qiun-charts-rotate {
|
||
|
width: 700rpx;
|
||
|
height: 1100rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
padding: 25rpx;
|
||
|
}
|
||
|
|
||
|
.charts-rotate {
|
||
|
width: 700rpx;
|
||
|
height: 1100rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
}
|
||
|
|
||
|
/* 圆弧进度样式 */
|
||
|
.qiun-charts3 {
|
||
|
/* width: 750rpx;
|
||
|
width:100%; */
|
||
|
height: 250rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
.charts3 {
|
||
|
position: absolute;
|
||
|
width: 250rpx;
|
||
|
height: 250rpx;
|
||
|
background-color: #FFFFFF;
|
||
|
}
|
||
|
|
||
|
.qiun-tip {
|
||
|
display: block;
|
||
|
width: auto;
|
||
|
overflow: hidden;
|
||
|
padding: 15rpx;
|
||
|
height: 30rpx;
|
||
|
line-height: 30rpx;
|
||
|
margin: 10rpx;
|
||
|
background: #ff9933;
|
||
|
font-size: 30rpx;
|
||
|
border-radius: 8rpx;
|
||
|
justify-content: center;
|
||
|
text-align: center;
|
||
|
border: 1px solid #dc7004;
|
||
|
color: #FFFFFF;
|
||
|
}
|
||
|
</style>
|