radar.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <script setup lang="ts">
  2. import { ref, computed } from "vue";
  3. import { useDark, useECharts } from "@pureadmin/utils";
  4. // 兼容dark主题
  5. const { isDark } = useDark();
  6. let theme = computed(() => {
  7. return isDark.value ? "dark" : "default";
  8. });
  9. // 初始化ECharts
  10. const chartRef = ref();
  11. const { setOptions } = useECharts(chartRef, { theme });
  12. // 根据配置项渲染ECharts
  13. setOptions({
  14. tooltip: {},
  15. legend: {
  16. top: 10,
  17. left: "left",
  18. data: ["得分率"]
  19. },
  20. radar: {
  21. radius: "70%", // 调整半径以使雷达图更大
  22. indicator: [
  23. { name: "数量" },
  24. { name: "科研" },
  25. { name: "教学" },
  26. { name: "强度" },
  27. { name: "难度" },
  28. { name: "质量" },
  29. { name: "效率" }
  30. ],
  31. axisName: {
  32. color: "black"
  33. }
  34. },
  35. series: [
  36. {
  37. name: "得分率",
  38. type: "radar",
  39. areaStyle: {
  40. normal: {
  41. color: "rgba(0, 128, 255, 0.2)" // 设置内部填充颜色和透明度
  42. }
  43. },
  44. lineStyle: {
  45. normal: {
  46. width: 1, // 设置线条宽度为 1
  47. color: "rgba(0, 128, 255, 1)" // 设置线条颜色
  48. }
  49. },
  50. data: [
  51. {
  52. value: [30, 60, 90, 120, 150, 160, 10],
  53. name: "支出"
  54. }
  55. ]
  56. }
  57. ]
  58. });
  59. </script>
  60. <template>
  61. <div ref="chartRef" class="w-72 h-64 m-auto mt-2" />
  62. </template>