
//基于准备好的dom,初始化echarts实例
var myChart = echartsinit(this$refsmain);
/ 深拷贝一下 生成两个不同的对象 /
thislineList = JSONparse(JSONstringify(thisreportsList));
/ 展示标题 /
thislineListtitle = {
text: "华东饼图数据",
};
/ 展示提示框组件 /
thislineListtooltip = {
/ a表示系列名 <br/>表示换行 b表示数据名 c表示数据值 d表示所占的百分比 /
formatter: '{a} <br> {b} <br> {c} <br> ({d}%)'
};
/ 把图例的位置调整一下 /
thislineListlegendtop = '10%';
thislineListlegendleft = '0';
/ 只显示华东的饼图数据 /
thislineListseriessplice(1)
/ 先把图标的类型都改成饼图 /
thislineListseries[0]type = 'pie';
/ 把图例中除了华东的图例都删掉 /
thislineListlegenddatasplice(1);
/ 拿到时间集合用来展示饼图的name值 /
let nameList = thislineListxAxis[0]data;
/ 拿到数据用来展示饼图的value值 /
let valueList = thislineListseries[0]data;
/ let data = [{
name:"2017-12-27",
value:2999
}] /
let newArr = [];
/ 下面的 *** 作是为了把两个数组整合成上面的格式 /
nameListforEach((r, i) => {
let obj = {
name: r,
/ 因为两个数组的长度是一样的,
索引对应的值也是一样的,key和value的值是相对应,
所以直接使用如下方式取值 /
value: valueList[i]
}
/ 把组装好的对象塞到新数组中 /
newArrpush(obj)
})
/ 给华东的数据组转好格式后重新赋值,为了展示饼图线对应的名字 /
thislineListseries[0]data = newArr;
/ 设置饼图的圆心的大小和圆的大小 /
thislineListseries[0]radius = ['10%', '45%'];
/ 设置圆的上下左右的距离 /
thislineListseries[0]center = ['58%', '60%'];
/ 把圆的形状设置成玫瑰形 /
thislineListseries[0]roseType = 'area';
/ 给圆设置圆角 /
thislineListseries[0]itemStyle = {
borderRadius: 5
}
/ 把x轴隐藏 /
thislineListxAxis = {
show: false
}
/ 把y轴隐藏 /
thislineListyAxis = {
show: false
}
// 绘制图表
myChartsetOption(thislineList);
windowPieChart = myChart;
},
在微信小程序中使用Echarts需要进行一些额外的配置才能正确显示,以下是可能的解决方法:
确认echarts库是否已正确安装,可以在uniapp的依赖管理器中查看echarts是否已被正确安装。
在uniapp中,需要先引入Echarts组件库,在页面中进行调用。可以在页面的 json 文件中添加以下配置:
css
Copy code
{
"usingComponents": {
"ec-canvas": "@echarts-weixin/ec-canvas"
}
}
确保使用的Echarts版本是支持微信小程序的版本,可以使用以下命令安装:
kotlin
Copy code
npm install echarts@^400 --save
npm install echarts-gl@^110 --save
npm install echarts-liquidfill@^111 --save
在使用Echarts的页面中,需要初始化echarts实例,以及将实例绑定到页面的canvas元素上,可以参考以下示例代码:
kotlin
Copy code
import as echarts from 'echarts';
export default {
data() {
return {
ec: {
lazyLoad: true // 延迟加载
}
}
},
onLoad() {
thisecComponent = thisselectComponent('#mychart');
thisecComponentinit((canvas, width, height, dpr) => {
// 初始化echarts实例
const chart = echartsinit(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // 像素比
});
// 设置options
chartsetOption({
// options 配置
});
// 将图表实例绑定到页面上
thischart = chart;
thiscanvas = canvas;
return chart;
});
}
}
希望这些解决方法能够帮助你解决问题。
在我们使用图表插件做图时,有时候需要很多张图表,就会在不经意间使用到tab切换功能来实现多张图表展示。那么,这是为啥呢,不会是因为在初始化的时候获取不了你容器的高度和宽度导致的吧!!!不会吧,不会吧。如下图:
解决方案: 一
条件判断 如下图:
解决方案: 二
目前方案二跟方案一差不多,就不展示了,而且方案二存在一个小bug
刚学习前端一个月,不喜勿喷。
这个年代网络暴力太可怕了,幸好俺是施暴着
ECharts官网: ECharts
1、引入jQueryjs、echartsjs(多种方式)
2、绘制图表
①为ECharts准备一个具备大小(宽高)的Dom
②基于准备好的dom,初始化echarts实例
③异步请求数据
先设置完其它的样式,显示一个空的直角坐标轴,然后获取数据后填入数据。
data1json文件格式如下:
script:
两种方法的显示结果都如下:
datajson文件:
script:
显示结果:
注意:
以上就是关于echarts饼图全部的内容,包括:echarts饼图、请问uniapp引入的echarts在微信小程序不显示是怎么回事啊!、echarts图初始化时挤在一起问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)