Vue3 highCharts 3D

该文章介绍了如何在Vue项目中安装并使用Highcharts和Highcharts-3d库来创建3D饼图,包括设置图表选项如类型、颜色、倾斜角度、数据标签等,以及自定义图例和数据。

第一步:安装

 npm install highcharts --save

npm install highcharts-3d    

npm install highcharts-vue

第二步:引入

import { Chart } from 'highcharts-vue';

  import Highcharts from 'highcharts';

  import Highcharts3d from 'highcharts/highcharts-3d';

第三步:使用

<template>
  <div class="absolute-left-right-top-bottom charts-main">
    <div class="content">
      <Chart :options="chartOptions1" class="content-pic" />
    </div>
  </div>
</template>

<script lang="ts" setup>
  import { Chart } from 'highcharts-vue';
  import Highcharts from 'highcharts';
  import Highcharts3d from 'highcharts/highcharts-3d';

  Highcharts3d(Highcharts);
  const chartOptions1 = {
    chart: {
		type: 'pie',//饼图
		backgroundColor: 'rgba(0, 0, 0, 0)', //去掉白色背景
		options3d: {
			enabled: true,//使用3d功能
			alpha: 55,//延y轴向内的倾斜角度,仰视角度
			beta: 0//图表视图旋转角度,倾斜角度
		}
	},
	title: {
		text: '2014年某网站不同浏览器访问量占比'//图表的标题文字 这个得加上,不然头部会默认有字,可默认为‘’
	},
	subtitle: {
		text: '', //副标题文字
	},
	tooltip: {
		pointFormat: '{series.name}'//只显示扇区名称
		//pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'//显示扇区名称和百分比
	},
	// 去掉右底部的文字
	credits: {
		enabled: false,
	},
	// 更改图例文字颜色
	legend: {
		itemStyle: { color: '#000' },
		backgroundColor: 'rgba(0, 0, 0, 0)', //去掉背景
	},
	plotOptions: {
		pie: {
			// borderColor:'orange',//在2d中有效果,3d没用
			// borderWidth: 3,//在2d中有效果,3d没用
			//innerSize: 100,//配置这个属性,就变成了环形图
			allowPointSelect: true,//每个扇块能否选中
			cursor: 'pointer',//鼠标指针
			depth: 35,//饼图的厚度
			//colors:[],//每个饼的颜色,也可以放在series的data中,不设置时是系统自动填充的颜色
			showInLegend: true, //显示图例
			slicedOffset:30,// 突出间距
			dataLabels: {
				enabled: true,//是否显示饼图的线形tip
				format: '{point.name}',//显示系列名称 //'{point.y}':显示数值
				style: {
					//样式配置
					textOutline: 'true', //去掉文字白边
					color: '#000',
					fontSize: 11,
				},
			}
		}
	},
	series: [{
		type: 'pie',
		name: '',//tooltip上显示的系列名称
		//data的顺序:按业务等级排序,颜色是固定顺序;如果按y值排序,颜色根据值来判断
		data: [
			['Firefox',   45.0],
			['IE',       26.8],
			{
				name: 'Chrome',
				y: 12.8,
				sliced: true,//饼图 突出 Chrome项
				selected: true,
				color:'orange'
			},
			['Safari',    8.5],
			['Opera',     6.2],
			['Others',   0.7]
		]
	}]
    };
</script>

<style>
  .highcharts-container {
    width: 600px;
    height: 400px;
    border: 1px solid #ddd;
    margin: auto;
  }
</style>

 

 

### 集成 Highcharts 3D 图表到 Vue3 要在 Vue3 中实现 Highcharts3D 图表功能,可以按照以下方法操作: #### 安装依赖库 首先需要安装 `highcharts` 和其扩展包 `highcharts-3d`。可以通过 npm 或 yarn 来完成安装: ```bash npm install highcharts highcharts-3d ``` 或者使用 Yarn: ```bash yarn add highcharts highcharts-3d ``` #### 引入必要的模块 在项目的入口文件(通常是 `main.js`)中引入 Highcharts 及其 3D 扩展模块,并初始化它们: ```javascript // main.js import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; // 引入 Highcharts 主库及其 3D 插件 import highcharts from &#39;highcharts&#39;; // 引入高charts核心库[^4] import highcharts3d from &#39;highcharts/highcharts-3d&#39;; // 引入3D插件[^1] // 初始化 Highcharts 3D 功能 highcharts3d(highcharts); const app = createApp(App); app.config.globalProperties.$hc = highcharts; // 将 Highcharts 注册为全局属性以便组件访问 app.mount(&#39;#app&#39;); ``` #### 创建一个 Vue 组件来展示 3D 图表 下面是一个简单的 Vue3 单文件组件 (SFC),用于绘制 3D 饼图。 ```html <template> <div ref="chartContainer" style="width: 100%; height: 400px;"></div> </template> <script> export default { name: "Highcharts3DDemo", mounted() { this.initChart(); }, methods: { initChart() { const chartOptions = { chart: { type: &#39;pie&#39;, options3d: { enabled: true, alpha: 45, // 倾斜角度 beta: 0 // 旋转角度 } }, title: { text: &#39;3D Pie Chart Example&#39; }, plotOptions: { pie: { depth: 45 // 设置饼图的厚度 } }, series: [{ data: [ [&#39;Firefox&#39;, 45.0], [&#39;Chrome&#39;, 26.8], [&#39;Edge&#39;, 12.8], [&#39;Other&#39;, 9.2] ] }] }; this.$hc.chart(this.$refs.chartContainer, chartOptions); } } }; </script> <style scoped> /* 自定义样式 */ </style> ``` 上述代码展示了如何通过配置项创建一个具有倾斜和旋转效果的 3D 饼状图。其中的关键部分在于设置 `options3d.enabled=true` 并调整 `alpha` 和 `beta` 参数控制视角。 #### 注意事项 为了确保兼容性和性能,在实际项目开发过程中需要注意以下几点: - **按需加载**:如果仅在某些特定场景下需要用到 Highcharts,则建议采用动态导入的方式减少打包体积。 - **版本匹配**:确认所使用的 Highcharts 版本与其官方文档保持一致,以免因 API 更改而引发错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值