<template>
<div :class="className">
<div :id="id" class="spiritChartBox"></div>
</div>
</template> <script>
import { mapState } from "vuex";
import echarts from "@/utils/initEcharts";
import deepMerge from "@/utils/deepMerge";
export default {
name: "spiritChart",
props: {
className: {
type: String,
default: "spiritChartBox"
},
id: {
type: String,
default: "spiritChart"
},
options: {
type: Object,
default: function() {
return {};
}
}
},
data() {
return {
chart: null
};
},
watch: {
options() {
this.setOption();
},
clientWidth() {
this.setOption();
}
},
mounted() {
const self = this;
self.initChart();
},
computed: {
...mapState({
clientWidth: state => state.init.clientWidth
})
},
methods: {
initChart() {
const self = this;
self.chart = echarts.init(document.getElementById(self.id));
window.addEventListener("resize", () => {
self.chart.resize();
});
self.setOption();
},
setOption() {
const self = this;
const { options, clientWidth } = self;
const maxData = 100;
const spirit =
"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAA+CAYAAADeQLDtAAAACXBIWXMAAAsSAAALEgHS3X78AAABpElEQVRYhe2YQU6EMBSGf4n7coTxBHoAFrhg7dxAvcEcAW/g3ABP4Ljuxkk4gNwAb1BOgHljIQ22fR2GMcb0Twjh9ZWvpS389KLve3Aq6u4GQAngzkhtKCYzsePqs5Ci7tYAXj0pjzIT1WxIUXcpgBaAYBp7KzPx7ipMmMoPAYAhzykOkgcA2DwOkgZCvHkc5CMQ4s3jIN5ZE5rnhchMUAu3DKDhpjDXEwJtADw5it9CJkfQisf3mlnpG9JZAdjJTLQhdYMhp+jSvCjqLj9ibfjUmuM09qSoOwreL9gBeoHmMhMq0YByYQDpepjah54UdacC31FzdJXocTgXgLRm18kCSn8Dwq/4c0Kamfez1nNBNjMh1nr/f0wiJEIiJEL+OkRZ4kHO0KHPSVgl2lS/GMFtqP10qDTC9BGrTHNHrkVpKF3P8a+Hf0ftm1fDf+RoU30/ltMbAXjW5s0q/STGp3H07NKNsY2jU3HFR0iEREiEREiEnAIZ7I7r82uN+yC2vUcyEObZ1H5wOlNx2+i0c00HtbAyN/+1haIysj8Up/KfPQHwBdyuiCoNTDAkAAAAAElFTkSuQmCC";
self.chart.setOption({
title: {
text: "景区饱和度",
x: "center",
y: "15%",
textStyle: {
color: "#fff",
fontSize: 24,
fontWeight: 600
}
},
tooltip: { show: false },
xAxis: {
max: maxData,
splitLine: { show: false },
axisTick: { show: false },
axisLine: { show: false },
axisLabel: { show: false }
},
yAxis: {
data: options.yAxisData || [],
inverse: true,
axisTick: { show: false },
axisLine: { show: false },
axisLabel: {
formatter: val => {
const strArr = val.split("_");
return `{a|${strArr[0]}}\n{b|${strArr[1]}}`;
},
rich: {
a: {
color: "#fff",
fontSize: 12,
lineHeight: 20
},
b: {
color: "#fbee21",
fontSize: 16
}
}
}
},
grid: { top: "25%", height: "60%", width: "43%", right: "10%" },
series: [
{
type: "pictorialBar",
symbol: spirit,
symbolRepeat: "fixed",
symbolMargin: "15%",
symbolClip: true,
symbolSize: [15, 30],
symbolBoundingData: maxData,
data: options.seriesData || [],
z: 10
},
{
type: "pictorialBar",
itemStyle: {
normal: {
opacity: 0.2
}
},
animationDuration: 0,
symbolRepeat: "fixed",
symbolMargin: "15%",
symbol: spirit,
symbolSize: [15, 30],
symbolBoundingData: maxData,
data: options.seriesData || [],
z: 5
}
]
});
}
}
};
</script> <style scoped>
.spiritChartBox {
width: 100%;
height: 100%;
}
</style>

echart 人头的更多相关文章

  1. EChart系列:在echart3中使用百度地图扩展之后,如何获取到百度地图对象

    最近做项目想要在百度地图上叠加显示echart的散点图,然后根据地图的缩放等级和区域范围要显示不同的散点图,这中间折腾了好久.功能要求包括: (1)底图使用百度地图: (2)可以在地图上叠加显示ech ...

  2. EChart使用

    EChart ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等 ...

  3. 网站中使用echart

    在网站开发中,可能会使用折线图,圆饼图,等等 来丰富网页对数据的展示,可以使用echart http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E ...

  4. WebGIS中利用AGS JS+eChart实现一些数据展示的探索

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 eChart提供了迁徙图.热点图.夜视图等跟地图能够很好的结 ...

  5. java 版本EChart使用

    一.简介 EChart是百度开发的js图表软件,用它我们可以很方便地以图形化的方式对数据进行分析统计.该种方式js在页面动态拼接json数据,再进行渲染.这种方法的优点是,灵活,可以随时进行修改.缺点 ...

  6. 百度数据可视化图表套件echart实战

    最近我一直在做数据可视化的前端工作,我用的最多的绘图工具是d3.d3有点像photoshop,功能很强大,例子也很多,但是学习成本也不低,做项目是需要较大人力投入的.3月底由在亚马逊工作的同学介绍下使 ...

  7. e-chart 本地加载中国地图

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  8. Echart的简单例子

    [转载自:http://echarts.baidu.com/echarts2/doc/start.html] <%@ page language="java" content ...

  9. EChart和G2比较

    1.上市时间:EChart已经久经沙场,G2算是新事物 2.源码:截止发文,在Github上 数量 EChart G2 commits 3086 8 branches 3 1 releases 43 ...

随机推荐

  1. 学习opencv(1)

    目录 CV_8UC3 Scalar--颜色赋值 using namespace cv找不到命名空间 waitKey() getTickCount() 引用 CV_8UC3 a) 存放单通道图像中像素: ...

  2. Mysql问题1862

    使用Navicat连接MySQL数据库出现1862错误(1862:Your password has expired.To log in you must change it change it us ...

  3. 【NQG】Paragraph-level Neural Question Generation with Maxout Pointer and Gated Self-attention Networks论文笔记

    这篇文章主要处理了在问题生成(Question Generation,QG)中,长文本(多为段落)在seq2seq模型中表现不佳的问题.长文本在生成高质量问题方面不可或缺. 1. Introducti ...

  4. Net core学习系列(五)——Net Core应用程序Startup类介绍

    一.Startup 类 ASP.NET Core应用程序需要一个启动类,按照惯例命名为Startup.在主程序的Web Host生成器(WebHostBuilderExtensions)的 UseSt ...

  5. Unity3D获取Android平台的电量

    刚开始的时候以为这个应该不简单.我也开始百度,寻找获取手机的电量的方法.大概有俩种方式:一种是直接访问一个文件,意思是说Android手机的电量等信息保存到了这个文件中.但是我试验的时候没有访问出来, ...

  6. 无法反序列化的java.util.ArrayList实例出来VALUE_STRING的(Can not deserialize instance of java.util.ArrayList out of VALUE_STRING)

    解决方法: 设置DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY.问题解决.

  7. [转发]for 循环,jQuery循环遍历详解

    1.for 循环原生JS最基本的使用: for (var i=0;i<cars.length;i++) { ..... } for - 循环代码块一定的次数2.for infor/in - 循环 ...

  8. oracle 存储函数,更新库存

    create procedure PRO_update_Goods_group_stock is v_min_stock , ); v_gg_stock , ); v_goods_no number; ...

  9. Idea控制台中文乱码

    在菜单栏找到”run->editconfigration” 找到”server”选项卡 设置 vm option为 -Dfile.encoding=utf-8

  10. Linux故障排查之CPU占用率过高

    有时候我们可能会遇到CPU一直占用过高的情况.之前我的做法是,直接查找到相关的进程,然后杀死或重启即可.这个方法对于一般的应用问题还不大,但是要是是重要的环境的话,可万万使不得. 如果是重要的环境,那 ...