Echarts概念篇(ECharts 中的样式简介)

ECharts 中的样式简介

颜色主题(Theme)


ECharts5 除了一贯的默认主题外,还内置了’dark’主题。可以像这样切换成深色模式:

<template>
	<div>
		<div id="main"></div>
	</div>
</template>

<script>
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//深色模式初始化
				const chartBox = this.$echarts.init(document.getElementById("main"), 'dark');
				const option = {
					xAxis: {
						data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					},
					yAxis: {},
					series: [{
						type: 'bar',
						data: [23, 24, 18, 25, 27, 28, 25],
					}],
				};
				chartBox.setOption(option);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		min-width: 600px;
		min-height: 400px;
	}
</style>

代码效果
代码效果

其他的主题,没有内置在 ECharts 中,需要自己加载。这些主题可以在 主题编辑器 里访问到。也可以使用这个主题编辑器,自己编辑主题。下载下来的主题可以这样使用:
主题保存为 JSON 文件,则需要自行加载和注册,例如:

<template>
	<div>
		<div id="main"></div>
	</div>
</template>

<script>
	//引入自定义主题样式
	import chalk from "../assets/chalk.json"
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//注册主题
				this.$echarts.registerTheme('chalk', chalk)
				//初始化加载
				const chartBox = this.$echarts.init(document.getElementById("main"), 'chalk');
				const option = {
					xAxis: {
						data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					},
					yAxis: {},
					series: [{
						type: 'bar',
						data: [23, 24, 18, 25, 27, 28, 25],
					}],
				};
				chartBox.setOption(option);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		min-width: 600px;
		min-height: 400px;
	}
</style>

代码效果
在这里插入图片描述

调色盘


调色盘,可以在 option 中设置。它给定了一组颜色,图形、系列会自动从其中选择颜色。 可以设置全局的调色盘,也可以设置系列自己专属的调色盘。

全局调色盘
<template>
	<div>
		<div id="main"></div>
	</div>
</template>

<script>
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//初始化加载
				const chartBox = this.$echarts.init(document.getElementById("main"));
				const option = {
					// 全局调色盘。
					color: [
						'#c23531',
						'#2f4554',
						'#61a0a8',
						'#d48265',
						'#91c7ae',
						'#749f83',
						'#ca8622',
						'#bda29a',
						'#6e7074',
						'#546570',
						'#c4ccd3'
					],
					xAxis: {
						data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					},
					yAxis: {},
					series: [{
						type: 'bar',
						data: [23, 24, 18, 25, 27, 28, 25],
					}],
				};
				chartBox.setOption(option);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		min-width: 600px;
		min-height: 400px;
	}
</style>

代码效果
代码效果

系列调色盘
<template>
	<div>
		<div id="main"></div>
	</div>
</template>

<script>
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//初始化加载
				const chartBox = this.$echarts.init(document.getElementById("main"));
				const option = {
					xAxis: {
						data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					},
					yAxis: {},
					series: [{
						type: 'bar',
						// 此系列自己的调色盘。
						color: [
							'#2f4554',
							'#c23531',
							'#61a0a8',
							'#d48265',
							'#91c7ae',
							'#749f83',
							'#ca8622',
							'#bda29a',
							'#6e7074',
							'#546570',
							'#c4ccd3'
						],
						data: [23, 24, 18, 25, 27, 28, 25],
					}],
				};
				chartBox.setOption(option);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		min-width: 600px;
		min-height: 400px;
	}
</style>

代码效果
代码效果

直接的样式设置


直接的样式设置是比较常用设置方式。纵观 ECharts 的 option 中,很多地方可以设置 itemStyle、lineStyle、areaStyle、label 等等。这些的地方可以直接设置图形元素的颜色、线宽、点的大小、标签的文字、标签的样式等等。
一般来说,ECharts 的各个系列和组件,都遵从这些命名习惯,虽然不同图表和组件中,itemStyle、label 等可能出现在不同的地方。

高亮的样式:emphasis


在鼠标悬浮到图形元素上时,一般会出现高亮的样式。默认情况下,高亮的样式是根据普通样式自动生成的。但是高亮的样式也可以自己定义,主要是通过 emphasis 属性来定制。emphasis 中的结构,和普通样式的结构相同,例如:

<template>
	<div>
		<div id="main"></div>
	</div>
</template>

<script>
	export default {
		data() {
			return {};
		},
		methods: {
			// 初始化图表
			initEcharts() {
				//初始化加载
				const chartBox = this.$echarts.init(document.getElementById("main"));
				const option = {
					xAxis: {
						data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
					},
					// 高亮样式。
					emphasis: {
						itemStyle: {
							// 高亮时的颜色。
							color: '#ff007f'
						},
						label: {
							show: true,
							// 高亮时标签的文字。
							formatter: function(e) {
								return e.name + '/' + e.data
							}
						}
					},
					yAxis: {},
					series: [{
						type: 'bar',
						data: [23, 24, 18, 25, 27, 28, 25],
					}],
				};
				chartBox.setOption(option);
			},
		},
		mounted() {
			this.initEcharts();
		},
	};
</script>

<style scoped>
	#main {
		min-width: 600px;
		min-height: 400px;
	}
</style>

代码效果
代码效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值