From 22fa4c54b26a37266706d944c59a3945291ee1d1 Mon Sep 17 00:00:00 2001 From: Xu Zhimeng Date: Tue, 4 Jul 2023 19:46:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B02D=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E9=BC=A0=E6=A0=87=E7=A7=BB=E5=8A=A8=E6=97=B6=E5=8F=B3=E4=BE=A7?= =?UTF-8?q?=E5=9B=9B=E4=B8=AA=E5=9B=BE=E8=A1=A8=E8=B7=9F=E7=9D=80=E5=8A=A8?= =?UTF-8?q?=EF=BC=8C=E5=AE=9E=E7=8E=B02D=E5=9B=BE=E8=A1=A8=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E7=9A=84=E6=8E=A7=E5=88=B6=E9=A2=9C=E8=89=B2=E6=8C=89?= =?UTF-8?q?=E9=92=AE=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=8F=B3=E4=BE=A7=E5=9B=9B?= =?UTF-8?q?=E4=B8=AA=E5=9B=BE=E8=A1=A8=E7=9A=84=E9=BC=A0=E6=A0=87=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=E6=98=BE=E7=A4=BA=E7=AB=96=E7=BA=BF=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/CustomChart/index.vue | 17 + src/utils/chartHelper.js | 20 + .../spectrumAnalysis/beta-gamma-analysis.vue | 29 +- .../components/BetaGammaSpectrumChart.vue | 115 +- .../components/ColorPalette.vue | 132 + .../components/LoadFromFileModal.vue | 128 + .../LoadFromFileModal/FtpFileModal.vue | 76 - .../components/LoadFromFileModal/Index.vue | 156 - .../components/SpectrumLineChart.vue | 46 +- src/views/spectrumAnalysis/data.json | 4195 +++++++++++++++++ src/views/spectrumAnalysis/index.vue | 2 +- 11 files changed, 4654 insertions(+), 262 deletions(-) create mode 100644 src/utils/chartHelper.js create mode 100644 src/views/spectrumAnalysis/components/ColorPalette.vue create mode 100644 src/views/spectrumAnalysis/components/LoadFromFileModal.vue delete mode 100644 src/views/spectrumAnalysis/components/LoadFromFileModal/FtpFileModal.vue delete mode 100644 src/views/spectrumAnalysis/components/LoadFromFileModal/Index.vue create mode 100644 src/views/spectrumAnalysis/data.json diff --git a/src/components/CustomChart/index.vue b/src/components/CustomChart/index.vue index f1157bc..d12f248 100644 --- a/src/components/CustomChart/index.vue +++ b/src/components/CustomChart/index.vue @@ -20,10 +20,27 @@ export default { mounted() { this.chart = echarts.init(this.$refs.containerRef) this.chart.setOption(this.option) + this.initEventListener() }, methods: { + initEventListener() { + const zr = this.getZRender() + zr.on('mousemove', (params) => { + this.$emit('zr:mousemove', params) + }) + }, + resize() { this.chart && this.chart.resize() + }, + + // 获取echart实例 + getChartInstance() { + return this.chart + }, + + getZRender() { + return this.chart.getZr() } }, watch : { diff --git a/src/utils/chartHelper.js b/src/utils/chartHelper.js new file mode 100644 index 0000000..35ee96b --- /dev/null +++ b/src/utils/chartHelper.js @@ -0,0 +1,20 @@ +/** + * 根据位置获取这个点在图表的哪个轴线上 + * @param offsetX + * @param offsetY + */ +export function getXAxisAndYAxisByPosition(chart, offsetX, offsetY, seriesIndex = 0) { + const pointInPixel = [offsetX, offsetY] + if ( + chart.containPixel( + { + seriesIndex: 0 + }, + pointInPixel + ) + ) { + const [xAxis, yAxis] = chart.convertFromPixel({ seriesIndex }, pointInPixel) + return [xAxis, yAxis] + } + return null +} \ No newline at end of file diff --git a/src/views/spectrumAnalysis/beta-gamma-analysis.vue b/src/views/spectrumAnalysis/beta-gamma-analysis.vue index 93040f0..7356775 100644 --- a/src/views/spectrumAnalysis/beta-gamma-analysis.vue +++ b/src/views/spectrumAnalysis/beta-gamma-analysis.vue @@ -5,7 +5,7 @@ - +
@@ -64,6 +64,9 @@ import BetaGammaChartContainer from './components/BetaGammaChartContainer.vue' import BetaGammaSpectrumChart from './components/BetaGammaSpectrumChart.vue' import ResultDisplay from './components/ResultDisplay.vue' import SpectrumLineChart from './components/SpectrumLineChart.vue' + +import twoDData from './data.json' + export default { components: { BetaGammaChartContainer, SpectrumLineChart, ResultDisplay, BetaGammaSpectrumChart }, data() { @@ -97,16 +100,36 @@ export default { uncertainty: '+/-0.01988', mdc: '0.03464' } - ] + ], + twoDData: {} } }, + created() { + this.getData() + }, methods: { resize() { - this.$refs.scatterChartRef && this.$refs.scatterChartRef.resize() + this.$refs.betaGammaChartRef && this.$refs.betaGammaChartRef.resize() this.$refs.lineChart1Ref && this.$refs.lineChart1Ref.resize() this.$refs.lineChart2Ref && this.$refs.lineChart2Ref.resize() this.$refs.lineChart3Ref && this.$refs.lineChart3Ref.resize() this.$refs.lineChart4Ref && this.$refs.lineChart4Ref.resize() + }, + + async getData() { + await 0 + this.twoDData = twoDData + }, + + // 鼠标在左侧2d图表上移动时 + handlePositionChange([xAxis, yAxis]) { + // Gamma Spectrum,根据bata-gamma的gamma channel的值(y轴)进行定位 + this.$refs.lineChart1Ref.setLinePosition(yAxis) + this.$refs.lineChart2Ref.setLinePosition(yAxis) + + // Beta Spectrum,根据bata-gamma的bata channel的值(x轴)进行定位 + this.$refs.lineChart3Ref.setLinePosition(xAxis) + this.$refs.lineChart4Ref.setLinePosition(xAxis) } } } diff --git a/src/views/spectrumAnalysis/components/BetaGammaSpectrumChart.vue b/src/views/spectrumAnalysis/components/BetaGammaSpectrumChart.vue index 46c4bf1..5e85fb3 100644 --- a/src/views/spectrumAnalysis/components/BetaGammaSpectrumChart.vue +++ b/src/views/spectrumAnalysis/components/BetaGammaSpectrumChart.vue @@ -6,15 +6,18 @@ :key="item" :class="active == index ? 'active' : ''" @click="handleChange(index)" - >{{ item }} + {{ item }} + + Unzoom
- +
-
256
+ +
{{ currCount + 1 }}
0
@@ -34,7 +37,10 @@ + + diff --git a/src/views/spectrumAnalysis/components/LoadFromFileModal.vue b/src/views/spectrumAnalysis/components/LoadFromFileModal.vue new file mode 100644 index 0000000..a770e60 --- /dev/null +++ b/src/views/spectrumAnalysis/components/LoadFromFileModal.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/views/spectrumAnalysis/components/LoadFromFileModal/FtpFileModal.vue b/src/views/spectrumAnalysis/components/LoadFromFileModal/FtpFileModal.vue deleted file mode 100644 index 17f3bbf..0000000 --- a/src/views/spectrumAnalysis/components/LoadFromFileModal/FtpFileModal.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/src/views/spectrumAnalysis/components/LoadFromFileModal/Index.vue b/src/views/spectrumAnalysis/components/LoadFromFileModal/Index.vue deleted file mode 100644 index f4d264e..0000000 --- a/src/views/spectrumAnalysis/components/LoadFromFileModal/Index.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - - - diff --git a/src/views/spectrumAnalysis/components/SpectrumLineChart.vue b/src/views/spectrumAnalysis/components/SpectrumLineChart.vue index 116ab17..1306411 100644 --- a/src/views/spectrumAnalysis/components/SpectrumLineChart.vue +++ b/src/views/spectrumAnalysis/components/SpectrumLineChart.vue @@ -1,13 +1,20 @@