echarts圖表漸變色 、及X軸滾動條樣式處理
由於專案中運用echarts可能較多。因此對同一種型別的echarts進行一個封裝,頁面呼叫根據傳入不同的狀態生成不同樣式,例如橫向柱狀圖和縱向柱狀圖。
話不多說上程式碼
父頁面
checkOptionData:function(){
let xDate=["測試1","測試2","測試3",'測試4','測試5','測試6','測試7'];
let y1=[100,600,200,100,100,100,100];
let y2=[200,100,300,100,100,100,100];
let series=[y1,y2];
let legendDate=["數量1",'數量2'];
this.optionData={
id:"opraStatistics", title:"測試", legendDate:legendDate, xDate:xDate,
xName:"", yName:"", series:series,
owner:{
colorList:[],
type:'',//控制橫向或是縱向顯示'transverse'為橫向,預設不傳為縱向
stack:'a',//控制是否疊加,預設不傳是不疊加
//如果是橫向柱狀圖可新增Y軸滑動
// dataZoom:[{type:'slider',start:0,end:10,right:0,show:true,width:10,height:'100%',top:-2,yAxisIndex:0}]
//這裡是縱向新增x軸滑動
dataZoom:[{type:'slider',start:0,end:60,bottom:20,show:true,width:'70%',height:10,left:'center',
backgroundColor:'rgb(60,114,209)',
height:'4',
fillerColor:'#fff',
borderColor:'rgb(60,114,209)',
textStyle:{
color:'transparent'
},
}
]
}
};
},
子頁面
setOption({id, title, legendDate, xDate, xName, yName, series,owner}) {
var that=this
const ownertype=owner.type=='transverse'
const colorList =owner.colorList.length ? owner.colorList:['rgb(45,185,186)', 'rgb(24,146,147)', '#009fc1'];
const optionData = {
dataZoom:owner.dataZoom?owner.dataZoom:[],//資料過大加入滑動
tooltip: {
trigger: 'axis'
},
title: {
text: title,
// left: 'left',
top:'20',
left:'20',
textStyle: {
fontSize: 14,
'color':"rgb(56,116,220)"
}
},
color: colorList,//顏色
legend: {
data: legendDate,
left: '40%',
top:'15%',
textStyle:{
//設定右上角標題文字大小
fontSize:12,
color:'#fff'
},
itemWidth:16,
itemHeight:12,
itemGap:6,//設定文字和圖示間距
},
calculable: true,
textStyle: {
'fontSize': 8,
'fontFamily': 'Source Han Sans CN Bold',
'color':"#666666"
},
grid: {//設定圖距離
left: 20,
right:15,
bottom:30,
top:'30%',
containLabel: true
},
xAxis: [
{
type: ownertype?'value':'category',
data:ownertype?'':xDate,
name: xName,
splitLine:{show:false }, //去除網格線
axisLine: { // 座標 軸線
show: true, // 是否顯示座標軸軸線
lineStyle: {//設定軸線
type: 'solid' ,
color: 'rgb(211,211,211)' ,
width: '1'
}
},
axisTick: { // 座標 軸線
show: false // 是否顯示座標軸軸線
},
axisLabel: {
interval:0, //顯示全
//設定橫軸文字大小
fontSize:12,
'color':"#fff"
},
nameTextStyle:{
//設定橫軸型別文字大小
fontSize:12
}
}
],
yAxis: [
{
type: ownertype?'category':'value',
data:ownertype?xDate:'',
name: yName,
splitLine:{show:true }, //去除網格線
axisLine: { // 座標 軸線
show: true, // 是否顯示座標軸軸線
lineStyle: {//設定軸線
type: 'solid' ,
color: 'rgb(211,211,211)' ,
width: '1'
}
},
axisTick: { // 座標 軸線
show: false // 是否顯示座標軸軸線
},
axisLabel: {
//設定縱軸文字大小
fontSize:12,
'color':"#fff",
},
nameTextStyle:{
//設定縱軸數量文字大小
fontSize:12,
// fontWeight:'bold'數量
}
}
]
}
optionData.series = [];
if(series){
for (let i = 0; i < series.length; i++) {
const scolor = colorList[i]
optionData.series[i] = {
name: legendDate[i],
type: 'bar',
data: series[i],
stack:owner.stack,//設定柱狀圖疊加
// barWidth:30,
barMaxWidth:35,//設定柱形圖柱子寬度
smooth: true,
itemStyle: {
fontSize:12,
emphasis: {
barBorderRadius: 30,
textStyle: {
// fontWeight: 'bolder',
fontSize: '12',
fontFamily: '微軟雅黑'
}
},
normal: {
// 柱形圖圓角,初始化效果
barBorderRadius: [2, 2, 0, 0],
//漸變色0,0,0,1表示從上向下漸變(右,下,左,上)
color:i==1?'rgb(253,192,42)':new echarts.graphic.LinearGradient(0,0,0,1,[{offset:0,color:'rgb(1,242,252)'},{offset:0.5,color:'rgb(55,144,241)'},{offset:1,color:'rgb(76,105,235)'}]),
label: {
show: true, // 是否展示
// color: ownertype?'#fff':scolor,
color:'#fff',
position:ownertype?'insideRight':'top',
barMaxWidth:30,
// backgroundColor:'rgb(246,189,21)',
itemStyle: {
padding:5,
},
textStyle: {
// fontWeight: 'bolder',
//設定柱狀圖上文字大小
fontSize: '11',
fontFamily: '微軟雅黑'
}
}
}
}
}
}
}
this.chart = echarts.init(document.getElementById(id))
this.chart.clear()
this.chart.setOption(optionData);
// dblclick雙擊
this.chart.on('click', function (params) {
//柱狀圖點選事件
console.log(that.chartData.id)
//觸發父元件方法,傳入點選引數判斷掉不同介面
that.$emit('alert',params)
console.log(params,"單擊了"+params.name+"柱狀圖");
});
}
看圖
相關文章
- ECharts柱條漸變色設定以及常用漸變色Echarts
- echarts 設定X軸最底部那條線的樣式Echarts
- css 改變scroll滾動條的樣式CSS
- echarts的漸變色的設定Echarts
- div滾動條樣式,水平滾動
- css樣式背景顏色漸變效果CSS
- echarts圖表樣式轉換Echarts
- ECharts圖座標軸文字換行問題處理Echarts
- 超美的滾動條樣式
- 直播原始碼,懸浮窗滾動漸變色效果原始碼
- Flutter 滾動監聽及實戰appBar滾動漸變FlutterAPP
- echarts 設定橫軸標線的樣式(X軸最底部一根除外)Echarts
- 純css美化滾動條樣式CSS
- Android ListView的滾動條樣式AndroidView
- echarts自定義膠囊柱圖並設定每個柱子的漸變色Echarts
- app直播原始碼,實現進度條自增長及漸變樣式APP原始碼
- 自定義瀏覽器滾動條樣式瀏覽器
- 變色滾動欄(轉)
- selenium中JS如何處理滾動條JS
- 直播軟體搭建,漸變色按鈕帶陰影樣式
- echarts圖表X軸文字過長解決解決方案:根據文字長度自動旋轉Echarts
- css實現修改預設滾動條樣式CSS
- echarts圖表y軸資料反轉的實現Echarts
- 圖形處理:給 Canvas 文字填充線性漸變Canvas
- Photoshop教程_PS漸變工具找不到,怎樣匯入ps漸變樣式?ps漸變使用教程.
- 直播系統app原始碼,漸變色按鈕帶陰影樣式APP原始碼
- R語言colorRampPalette函式-建立顏色梯度(漸變色)R語言函式梯度
- iOS 背景圖層的顏色漸變效果iOS
- iOS UIView漸變色iOSUIView
- echarts3.0非同步資料載入之series樣式處理EchartsS3非同步
- Angular10.x 如何使用eCharts圖表庫AngularEcharts
- 直播軟體開發,漸變色任務進度條
- 自定義View之顏色漸變折線圖View
- 捲軸樣式
- 直播app系統原始碼,css優化滾動條樣式APP原始碼CSS優化
- 短視訊平臺搭建,自定義滾動條的樣式
- css3自定義滾動條樣式程式碼例項CSSS3
- 設定谷歌瀏覽器其滾動條樣式程式碼谷歌瀏覽器