vue与viser 实现chart混合图

一、效果图

在这里插入图片描述

二、代码块

	<v-chart :forceFit="true" :height="height"  :scale="scale">
	  <v-tooltip />
	  <v-legend />

	  <!-- 柱形图 -->
	  <v-view :data="dataT">
	    <v-axis data-key='value' :title="title" />
	    <v-stack-bar position="year*value" :vStyle="stackBarStyle" color="type" />
	  </v-view>
	  
	  <!-- 折线图 -->
	  <v-view :data="data1">
	    <v-smooth-line position="year*value"  shape="smooth" :color="['city', ['#69dfae']]" />
	  </v-view>
	</v-chart>
	export default{
		const DataSet = require('@antv/data-set');
		data(){
			return{
				height: 420,
				title:{
		          offset: 50
		        },
		        scale: [{
		          dataKey: 'value',
		          alias: '单位 (件)'
		          
		        }],
		        stackBarStyle: {
		          stroke: "#fff",
		          lineWidth: 1,
		        },
		        dataSourceT: [{
					type: "发明",
					value: 143,
					year: "2010年"
				},{
					type: "实用新型",
					value: 171,
					year: "2010年"
				},{
					type: "外观设计",
					value: 84,
					year: "2010年",
				},{
					type: "发明",
					value: 129,
					year: "2011年"
				}], //三种专利趋势数据
		        brokenLineList:[{
					value: 399,
					year: "2010年",
				},{
					value: 499,
					year: "2011年",
				}],
			}
		}
	
	
	    computed: {
	      // 图一(申请 公开 授权趋势)********************************************
	      dataT() {
	        const dvT = new DataSet.View().source(this.dataSourceT)
	        dvT.transform({
	          type: 'percent',
	          field: 'value',
	          dimension: 'type',
	          groupBy: ['year'],
	          as: 'percent',
	        })
	        let rows = dvT.rows
	        return rows
	      },
	      data1(){ //折线图
	        const dv = new DataSet.View().source(this.brokenLineList);
	        dv.transform({
	          type: 'fold',
	          fields: ['总量'],
	          key: 'city',
	          value: 'temperature',
	        });
	        const data1 = dv.rows;
	        return data1;
	      },	
	   }
	}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值