Vue 3 是一个用于构建用户界面的渐进式 JavaScript 框架,而 Plotly.js 是一个基于 D3.js 的图表库,它提供了丰富的图表类型,包括动态的 3D 图表。下面是一个简单的示例代码,展示如何在 Vue 3 应用程序中使用 Plotly.js 来绘制一个动态的 3D 散点图。
首先,确保你已经安装了 Vue 3 和 Plotly.js。你可以通过 npm 或 yarn 来安装它们:
npm install vue@next plotly.js
然后,创建一个 Vue 3 组件来使用 Plotly.js 绘制图表:
<template> <div id="plotly-chart" :style="{ width: '100%', height: '500px' }"></div> </template> <script setup> import { onMounted, ref } from 'vue'; import Plotly from 'plotly.js-dist'; const chartRef = ref(null); onMounted(() => { const trace = { x: [1, 2, 3, 4], y: [10, 11, 12, 13], z: [1, 2, 3, 4], mode: 'markers', marker: { size: 12, color: [1, 2, 3, 4], colorscale: 'Viridis', opacity: 0.8 } }; const layout = { margin: { l: 0, r: 0, b: 0, t: 0 }, scene: { xaxis: { title: 'X', }, yaxis: { title: 'Y', }, zaxis: { title: 'Z', } } }; const data = [trace]; Plotly.newPlot(chartRef.value, data, layout); }); </script> <style> /* 你的 CSS 样式 */ </style>
这个组件首先定义了一个 div
元素作为图表的容器,并设置其宽度和高度。在 <script setup>
标签中,我们使用 Vue 3 的 onMounted
钩子来确保在组件挂载完成后初始化图表。我们创建了一个 trace
对象来定义图表的数据和样式,一个 layout
对象来定义图表的布局,然后使用 Plotly 的 newPlot
方法来绘制图表。
请注意,这只是一个基本示例,你可以根据需要调整数据和配置选项来创建更复杂的图表。此外,Plotly.js 还支持许多其他类型的图表和交互功能,你可以查阅官方文档来获取更多信息。