三大-图例

This commit is contained in:
duanhao 2025-08-14 09:43:38 +08:00
parent 4c81377aa7
commit d3397de965
5 changed files with 29 additions and 19 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 572 B

View File

@ -210,9 +210,13 @@ export const useGroupDiscoveryStore = defineStore("groupDiscovery", {
// 定义明确的群体顺序 // 定义明确的群体顺序
const groupOrder = ["群体一", "群体二", "群体三"] const groupOrder = ["群体一", "群体二", "群体三"]
groupOrder.forEach(key => { groupOrder.forEach((key) => {
if (res.data.data[key]) { if (res.data.data[key]) {
resultObj["seriesList"].push({ name: key, themeColor: themeMap[key], data: res.data.data[key] }) resultObj["seriesList"].push({
name: key,
themeColor: themeMap[key],
data: res.data.data[key]
})
} }
}) })
this.chartData = resultObj this.chartData = resultObj
@ -693,7 +697,7 @@ export const useGroupMemberStore = defineStore("groupMember", {
fontSize: 12, fontSize: 12,
opacity: 0.8 opacity: 0.8
} }
], ]
}), }),
actions: { actions: {
// 获取时间轴 // 获取时间轴
@ -1158,9 +1162,9 @@ export const useAnomalousGroup = defineStore("anomalousGroup", {
const xAxisData = res.data.xaxisData.map((item) => utcStringToHHMMSS(item)) const xAxisData = res.data.xaxisData.map((item) => utcStringToHHMMSS(item))
const yAxisRange = res.data.yaxisRange const yAxisRange = res.data.yaxisRange
const themeColors = { const themeColors = {
社团一: "#2AB8FD", 社团一: "#00d6da",
社团二: "#02D7DA", 社团二: "#fddc33",
社团三: "#FFDA09" 社团三: "#32b6fb"
} }
const seriesList = res.data.seriesList.map((item) => ({ const seriesList = res.data.seriesList.map((item) => ({
data: item.data.map((item) => item.toFixed(2)), data: item.data.map((item) => item.toFixed(2)),

View File

@ -3,13 +3,13 @@
<img src="@/assets/images/groupEvolution/graph-title.png" class="titleImage" /> <img src="@/assets/images/groupEvolution/graph-title.png" class="titleImage" />
<div class="container" id="container"></div> <div class="container" id="container"></div>
<div class="legends" v-show="storeId == 'anomalousGroup'"> <div class="legends" style="top: 55%" v-show="storeId == 'anomalousGroup'">
<div class="legend-item" v-for="item in legendsMap.abnormalGroup" :key="item.text"> <div class="legend-item" v-for="item in legendsMap.abnormalGroup" :key="item.text">
<img class="legend-icon" :src="item.icon" /> <img class="legend-icon" :src="item.icon" />
<div class="legend-text">{{ item.text }}</div> <div class="legend-text">{{ item.text }}</div>
</div> </div>
</div> </div>
<div class="legends" v-show="!(storeId == 'anomalousGroup')"> <div class="legends" style="top: 60%" v-show="!(storeId == 'anomalousGroup')">
<div class="legend-item" v-for="item in legendsMap.normalGroup" :key="item.text"> <div class="legend-item" v-for="item in legendsMap.normalGroup" :key="item.text">
<img class="legend-icon" :src="item.icon" /> <img class="legend-icon" :src="item.icon" />
<div class="legend-text">{{ item.text }}</div> <div class="legend-text">{{ item.text }}</div>
@ -41,7 +41,6 @@ import group2Leg from "@/assets/images/groupEvolution/legends-group2.png"
import group3Leg from "@/assets/images/groupEvolution/legends-group3.png" import group3Leg from "@/assets/images/groupEvolution/legends-group3.png"
import abnormalLeg from "@/assets/images/groupEvolution/legends-abnormal-group.png" import abnormalLeg from "@/assets/images/groupEvolution/legends-abnormal-group.png"
const props = defineProps({ const props = defineProps({
store: { store: {
required: true required: true
@ -49,15 +48,15 @@ const props = defineProps({
}) })
const legendsMap = { const legendsMap = {
normalGroup: [ normalGroup: [
{ icon: group1Leg, text: '群体一' }, { icon: group1Leg, text: "群体一" },
{ icon: group2Leg, text: '群体二' }, { icon: group2Leg, text: "群体二" },
{ icon: group3Leg, text: '群体三' }, { icon: group3Leg, text: "群体三" }
], ],
abnormalGroup: [ abnormalGroup: [
{ icon: group1Leg, text: '社团组一' }, { icon: group1Leg, text: "社团组一" },
{ icon: group2Leg, text: '社团组二' }, { icon: group2Leg, text: "社团组二" },
{ icon: group3Leg, text: '社团组三' }, { icon: group3Leg, text: "社团组三" },
{ icon: abnormalLeg, text: '疑似异常社团' }, { icon: abnormalLeg, text: "疑似异常社团" }
] ]
} }
const emit = defineEmits(["click:pointerDownAndSlide"]) const emit = defineEmits(["click:pointerDownAndSlide"])
@ -398,11 +397,18 @@ watch(
width: 160px; width: 160px;
height: auto; /* 高度自适应内容 */ height: auto; /* 高度自适应内容 */
right: 2%; right: 2%;
top: 60%; background: linear-gradient(
background: linear-gradient(286.05deg, rgba(0, 82, 125, 0.48) 32.99%, rgba(0, 200, 255, 0.2304) 233.73%); 286.05deg,
rgba(0, 82, 125, 0.48) 32.99%,
rgba(0, 200, 255, 0.2304) 233.73%
);
border: 1px solid; border: 1px solid;
border-radius: 5px; border-radius: 5px;
border-image-source: linear-gradient(153.08deg, rgba(183, 222, 255, 0.32) 3.37%, rgba(58, 161, 248, 0.064) 83.16%); border-image-source: linear-gradient(
153.08deg,
rgba(183, 222, 255, 0.32) 3.37%,
rgba(58, 161, 248, 0.064) 83.16%
);
padding: 10px; /* 添加内边距 */ padding: 10px; /* 添加内边距 */
gap: 10px; /* 设置项间距 */ gap: 10px; /* 设置项间距 */
.legend-item { .legend-item {