echarts终极笔记

echarts图库 https://www.isqqw.com/viewer?id=16125

y轴:

maxInterval:5,  <!-- 刻度 -->
min:80,     <!-- 从某数值开始 -->
max:130,    <!-- 到某数值结束 -->
axisLine:{  <!-- y轴为实线 -->
show:true

},

折线图欲去除折线上原点

symbol:“none”,

y轴上文字竖着旋转90度且居中,文字距离y轴的距离

yAxis:[ {
name:“消费者信心指数”,
nameLocation:“center”,
nameGap:50,

折线图格子上写字

graphic: [
{
type:‘text’,
right: ‘15%’, //靠近右边y轴
top: ‘57%’, //距离头顶
z: 999,
style:{
text: ‘95%置信区间(平均值)’,
fontWeight: 400,
fontSize: 10
}

折线图加平均值线条

series里边加,后面接上数据即可
markLine:{
data:[{
type:‘average’
}]
},

折线图最高处加标识
markPoint:{
data:[
{ type:‘max’,name:‘最大值’},
{ type:‘min’,name:‘最小值’}
]
},

标题 title

title:{
text:“主标题”,
link:“网址或地址”,
target:“self”,
textStyle:{
color:‘颜色’,
fontSize:30
}

backgroundColor:‘pink’,
borderColor:‘red’,
borderWidth: 5,

x:‘center’,

subtext:‘副标题’,
sublink:‘’
}
x轴 xAxis:{
data:[‘横轴’,‘数据’]
}

数据 series:{
name:“名字”
type:“bar”
data:[1,2,3,5]
}

提示框 tooltip

作用:鼠标滑过,点击图表

tooltip:{
trigger:‘axis’,

axispointer:{
    type:"line"<!-- 默认竖线  shadow阴影  cross十字准星 -->    
},
showContent:false,  <!-- 不展示提示框 默认true  -->

bgC:"背景颜色",
borderColor:"边框色",
borderWidth:5,    <!-- 边框粗细 -->
textStyle:{    <!-- 提示框内容字体颜色 -->
    color:'pink'
},
<!-- 不足以开发,需要自定义内容formatter -->
formatter(params){    params是数据,下面遍历的是在data里定义过的对象
   for(var i=0;i<params.length;i++){
      return "名字:"+params[i].name+"--价格:"+params[i].data.value+"--采摘日期:"+params.data.date
   }
}

}

图例 legend 标记啥是啥颜色

lengend:{
show:true,

icon:‘circle’,

top:‘10%’,

itemWidth:10,
itemHeight:20,

textStyle:{
color:‘red’,
fontSize:30,
backgroundColor:‘yellow’
},

}

柱状图 bar

创建一个路由组件,
记得 router/index.js 中 导入+注册 该路由组件,
路由组件内编写步骤:

template中给个盒子div

ref 以便后面获取dom $refs 来画图

设置盒子的宽高边框线

#myCharts{
w500+h500;
border:1px soild red;
}

echarts包的下载和引入

下载
npm install echarts -S
+
main.js中引入
import echarts from ‘echarts’
Vue.prototype.$echarts = echarts
+
组件中引入
import * as echarts from “echarts”;

mounted中初始化echarts

更多效果(在上面的series的对象里加入)

    markPoint:{
        data:[
            {
                type:'max',
                name:'最大值'
            },
            {
                type:'min',
                name:'最小值'
            }
        ]
    }
    markLine:{
       data:[
           {
            type:'average', 
            name:'平均值'
           }
       ]
    }

水平柱状图 柱状图躺着

只需要修改两个配置项
yAxis:{
data: xData,
type:‘category’
},
xAxis:{
type:‘value’
}

饼状图 pie

前三步

创建一个路由组件,
记得 router/index.js 中 导入+注册 该路由组件,
路由组件内编写步骤:

template中给个盒子div

ref 以便后面获取dom $refs 来画图

设置盒子的宽高边框线

#myCharts{
w500+h500;
border:1px soild red;
}

echarts包的下载和引入

下载
npm install echarts -S
+
main.js中引入
import echarts from ‘echarts’
Vue.prototype.$echarts = echarts
+
组件中引入
import * as echarts from “echarts”;

mounted中初始化echarts

更多设置 (在上面的series的对象里加入)

radius:[ ‘40%’,‘70%’ ],

label:{
show:true,
position:’ ’
},

roseType:‘area’,

itemStyle:{
color:‘’,
shadowBlur:200,
shadowColor:‘green’
}

每一项的颜色
      let data=[
          {value:67,name:'美食',
          itemStyle:{
              normal:{ color:'' }
              }
          },
          {value:175,name:'日化',
          itemStyle:{
              normal:{ color:'' }
              }
          },
          {value:27,name:'数码',
          itemStyle:{
              normal:{ color:'' }
              }
          },
          {value:89,name:'家电',
          itemStyle:{
              normal:{ color:'' }
              }
          }
      ]

折线图 line

前三步看上边

初始化ECharts

折线图更多设置 series里对象加

smooth:true

areaStyle:{}

markPoint:{
data:[
{type:‘max’,name:‘最大值’},
{type:‘mix’,name:‘最小值’},
]
},
markLine:{
data:[
{type:‘average’,name:‘平均值’}
]
}

多条折线图 堆叠折线图

上面的数据修改一下: 多来几条数据 series里清空
let aData=[130,25,234,164,89,188,79]
let bData=[166,48,200,160,95,175,80]
let cData=[178,66,240,175,84,200,55]
let dData=[154,45,250,185,95,195,94]

series:[
{
name:‘美食’,
type:‘line’,
stack:‘num’,
data:aData,
areaStyle:{},
emphasis:{
focus:‘series’
}
},
{
name:‘日化’,
type:‘line’,
stack:‘num’,
data:bData
},
{
name:‘数码’,
type:‘line’,
stack:‘num’,
data:cData
},
{
name:‘蔬菜’,
type:‘line’,
stack:‘num’,
data:dData
},

]

散点图 scatter

前三步看上边

初始化ECharts

散点图更多设置 series里的对象加

color:{

type:‘linear’,

x:0,
y:0,
x2:1,
y2:0,
colorStops:[
{
offset:0,
color:‘#00ccff’
},
{
offset:1,
color:‘rgba(255,173,2,.9)’
}
]
},

emphasis:{
itemStyle:{
borderColor:‘rgba(100,200,50,.5)’,
}
}

配置项grid

xAxis同级的属性

grid:{
show:true,

left:20%,
top:20%,
right:20%,
bottom:20%,

backgroundColor:‘pink’,

}

K线图 历史走势 趋势 candlestick

前三步一样

mounted中初始化echarts

更多设置

tooltip:{
trjgger:‘axis’,

axisPointer:{
type:‘cross’
}
},

itemStyle:{
color:‘red’,
color0:‘pink’,

borderColor:‘#8A0000’,
borderColor0:‘#008F28’,
},

markPoint:{
data:[
{
name:‘最大值’,
type:‘max’,
valueDim:‘highest’
},
{
name:‘最小值’,
type:‘min’,
valueDim:‘lowest’
},
{
name:‘平均值’,
type:‘average’,
valueDim:‘close’
}
]
}

series里新建一个对象

{
type:‘line’,
smooth:true,
data:this.newData
}

雷达图 radar

前三步一样

初始化ECharts

雷达图 更多设置

radius:320,

startAngle:180,

slitNumber:10,

axisName:{
formatter:‘{value}’,
color:‘#428BD4’
},

splitArea:{
areaStyle:{
color:[‘#77EADE’,‘#26C3BE’,‘#64afe9’,‘blue’]
shadowColor:‘0,0,0,.2’,
shadowBlur:10
}
}

lineStyle:{
type:‘dashed’
},

areaStyle:{
color:‘green’
}

漏斗图 funnel

前三步一样

let option = {
title:{
text’漏斗图’
},
tooltip:{
trigger:‘item’,
fromatter:‘{a}
{b}:{c}%’
},
series:[
{
type:‘funnel’,
data:[
{value:60,name:‘美食’}
{value:40,name:‘日化’}
{value:20,name:‘数码’}
{value:80,name:‘家电’}
{value:100,name:‘蔬菜’}
],
left:10%
}
]
}

漏斗图更多设置

series对象里
sofe:‘ascending’

itemStyle:{
borderColor:‘red’,
borderWidth:3,
},
label:{
show:true,
position:‘inside’
},
emphasis:{
label:{
fontSize:30
}
}

数据缩放 图表缩放series对象里

dataZoom: [
{ type: ‘slider’,
xAxisIndex: 0,
filterMode: ‘none’ <!-- 设置-----数据过滤不过滤数据,只改变数轴范围 -->
},
{
type: ‘slider’,
yAxisIndex: 0,
filterMode: ‘none’
},
]

主题设置

echarts中两个内置主题:light 浅蓝 dark 暗蓝色背景

设置主题:颜色,
let myChart = echarts.init(this.$refs.操作dom名 , “light”)

自定义主题 上面的主题不够用时 主题颜色

echarts官网导航栏 - 下载 - 主题下载 - 定制主题 - 设置自己的样式 - 下载主题 - 复制代码

步骤:
新建assets/tuStyle.js中
export let 主题名 = {
复制过来的主题代码
}
+
组件内引用+使用
import { 主题名 } from ‘@/assets/tuStyle.js’

let myChart = echarts.init(this.$refs.操作dom名 ,主题名)

地图设置

前三步看柱形图,下面是添加一些内容

https://datav.aliyun.com/portal/school/atlas/area_selector 阿里云中国地图下载

JSON API 复制链接到浏览器,里边的数据复制到assets/china.js
里边的内容 export let mapData = { 复制的数据 }

某省份地图

阿里云里中国地图点击省份 - 复制json api - 浏览器复制里边的内容
assets/省份.js

export let 省份名guangxi = 复制代码
在组件中导入和注册,在上一步的基础上删除zoom 和center
label:{
show:true,
fontSize:15
},
itemStyle:{
areaColor:‘pink’
}

地图气泡点 (geo同级)

series:
{
type:‘scatter’,
data:[
{
name:‘北京市’
value:[
116.46,
39.92,
4000
]
}
],
coordinateSystem:‘geo’,
symbolSize:30,

},

{
type:‘effectScater’,
coordinateSystem:‘geo’,
data:[
{
name:‘北京市’
value:[
108.95,
34.26
]
}
],

rippleEffect:{
number:2,
scale:4
},
itemStyle:{
color:‘red’
}
}

地图更多设置

itemStyle:{
  areaColor:'#0099ff',
  borderColor:'#00ffff',
  shadowColor:'rgba(230,130,70,0.5)',
  shadowBlur:30,
  emphasis:{
    focus:'self'
  }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 Echarts 中绘制正态分布曲线,可以使用 Echarts 的图表类型中的“线图”(line chart)和“面积图”(area chart)。具体步骤如下: 1. 定义 x 轴的取值范围,例如 [-4, 4],并将其分成多个小区间,例如每个小区间的宽度为 0.1。 2. 计算每个小区间的函数值,即正态分布的密度函数值,可以使用 JavaScript 中的 math 库进行计算。 3. 将计算得到的函数值作为 y 轴的取值,绘制线图或面积图。 4. 可以通过 Echarts 提供的配置项调整图表的样式,例如设置线条颜色、线条宽度、填充颜色等等。 下面是一个绘制正态分布曲线的示例代码: ```javascript // 定义 x 轴的取值范围和步长 var xData = []; for (var i = -4; i <= 4; i += 0.1) { xData.push(i.toFixed(1)); } // 计算正态分布曲线的函数值 var yData = []; var mean = 0; // 均值 var stdDev = 1; // 标准差 for (var i = 0; i < xData.length; i++) { var x = xData[i]; var y = (1 / (stdDev * Math.sqrt(2 * Math.PI))) * Math.exp(-Math.pow(x - mean, 2) / (2 * Math.pow(stdDev, 2))); yData.push(y.toFixed(4)); } // 绘制线图和面积图 var option = { xAxis: { type: 'category', data: xData }, yAxis: { type: 'value' }, series: [{ type: 'line', data: yData, lineStyle: { color: 'blue', width: 2 } }, { type: 'line', data: yData, areaStyle: { color: 'blue' }, itemStyle: { opacity: 0 } }] }; // 使用 Echarts 绘制图表 var chart = echarts.init(document.getElementById('chart')); chart.setOption(option); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值