vue3+echarts可视化——记录我的2023编程之旅

文章目录

    • ⭐前言
    • ⭐2023我在csdn的旅途痕迹
      • 💖node系列文章
      • 💖vue3系列文章
      • 💖python系列文章
      • 💖react系列文章
      • 💖js拖拽相关文章
      • 💖小程序系列文章
      • 💖uniapp系列文章
    • ⭐可视化布局
      • 💖 git 数据的提取
    • ⭐echarts页面
      • 💖 vue3 封装 折线图分布 组件
      • 💖 vue3 封装 柱状图分布 组件
      • 💖 vue3 封装 饼图分布 组件
      • 💖inscode代码块
    • ⭐总结
      • 💖 2024 展望
    • ⭐结束

yma16-logo

⭐前言

大家好,我是yma16,本文分享关于 vue3+echarts可视化——记录我的2023编程之旅。
数据来源

  1. 回顾2023,我在gitcode、gitee、github上的提交记录数据
  2. 回顾2023,我在csdn发布的文章数量
  3. 回顾2023,我在csdn的粉丝量
  4. 回顾2023,我的博客社区数量

⭐2023我在csdn的旅途痕迹

以下是我在csdn留下的痕迹

💖node系列文章

node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件
node笔记_连接mysql实现crud
node笔记_formidable实现前后端联调的文件上传
node笔记_koa框架介绍
node_koa路由
node_生成目录
node_读写excel
node笔记_读取目录的文件
node笔记——调用免费qq的smtp发送html格式邮箱
node实战——搭建带swagger接口文档的后端koa项目(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——koa给邮件发送验证码并缓存到redis服务(node后端储备知识)
node实战——koa实现文件下载和图片/pdf/视频预览(node后端储备知识)

💖vue3系列文章

vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
前端vue2、vue3去掉url路由“ # ”号——nginx配置
csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板
认识vite_vue3 初始化项目到打包
python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示
让大模型分析csdn文章质量 —— 提取csdn博客评论在文心一言分析评论区内容
前端vue3——html2canvas给网站截图生成宣传海报

💖python系列文章

python爬虫_基本数据类型
python爬虫_函数的使用
python爬虫_requests的使用
python爬虫_selenuim可视化质量分
python爬虫_django+vue3可视化csdn用户质量分
python爬虫_正则表达式获取天气预报并用echarts折线图显示
python爬虫_requests获取bilibili锻刀村系列的字幕并用分词划分可视化词云图展示
python爬虫_selenuim登录个人markdown博客站点
python爬虫_requests获取小黄人表情保存到文件夹

💖react系列文章

next.js博客搭建_初始化next项目(第一步)
next.js博客搭建_登录注册(第二步)
next.js博客搭建_react-markdown渲染内容(第三步)

💖js拖拽相关文章

前端——html拖拽原理
前端vue3——实现二次元人物拼图校验

💖小程序系列文章

小程序组件传值
小程序自定义微信昵称和头像
小程序制作markdown博客
小程序结合chatgpt制作聊天页面
小程序复制到粘贴板的功能实现
小程序的markdown代码块复制功能
小程序图片二维码识别
小程序获取openid联动django实现
微信小程序_搜索图片功能实现

💖uniapp系列文章

uniapp框架——初始化vue3项目(搭建ai项目第一步)
uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)

⭐可视化布局

关于图表展示的选择

  1. git代码分布,采用折线图,以时间为维度
  2. csdn 发布的文章数量采用 柱状图
  3. 我在csdn的粉丝数量采用折线图进行分布
  4. 社区数量采用饼图进行展示

💖 git 数据的提取

gitcode平台提交次数获取 https://gitcode.net/users/qq_38870145/calendar.json
gitcode平台
gitcode-data
gitee平台 commit数据获取

https://gitee.com/yma16/contribution_timeline?url=%2Fyma16%2Fcontribution_timeline&scope=my&day=&start_date=&end_date=&year=&limit=20&prev_id=747337371&_=1704133949757
gitee平台
gitee

⭐echarts页面

采用上下排版布局样式

💖 vue3 封装 折线图分布 组件

<template><div id="lineChartId" style="width:100vw;height:300px;margin: 0 auto"></div>
</template>
<script setup>import * as echarts from 'echarts';
import { defineProps, reactive, watch, nextTick, onUnmounted,onMounted } from 'vue';
import {getCommitData} from './data.js'const state = reactive({exportLoading: false,echartInstance: undefined,commitConfig:[],lineData:[]
})function renderEchartLine() {// 基于准备好的dom,初始化echarts实例const domInstance=document.getElementById('lineChartId')if(domInstance){domInstance.removeAttribute('_echarts_instance_')}else{return }const myChart = echarts.init(domInstance);const seriesItem=    {data: state.commitConfig.map(item=>item.count),type: 'line',smooth: true}const labelData=state.commitConfig.map(item=>item.date)const seriesData=[seriesItem]const option = {title: {text: 'git code git commit次数',textStyle:{color:'#ffffff'}},toolbox: {show: true,feature: {saveAsImage: {}}},dataZoom: [{id: 'dataZoomX',type: 'slider',xAxisIndex: [0],filterMode: 'filter'}],tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},legend: {},xAxis: {type: 'category',data: labelData,axisLabel:{color:'#ffffff'}},yAxis: {type: 'value',axisLabel:{color:'#ffffff'}},grid: {x: 60,x2: 100},series: seriesData};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option, true);// 监听state.echartInstance = myChart;window.onresize = myChart.resize;
}onUnmounted(() => {window.onresize = null
})
const getCommitConfig= ()=>{state.commitConfig=getCommitData()renderEchartLine()
}onMounted(()=>{getCommitConfig()
})
</script>

折线图效果如下
line-chart

💖 vue3 封装 柱状图分布 组件

2023 文章质量分 分布 数据
参考我的博客:
python爬虫_django+vue3可视化csdn用户质量分
以下是 过滤的2023 yma16 文章的 所有json数据
article
代码实现:

<template><div id="barChartId" style="width:100vw;height:900px;margin: 0 auto"></div>
</template>
<script setup>
import * as echarts from 'echarts';
import { defineProps, reactive, watch, nextTick, onUnmounted } from 'vue';
const props = defineProps({tableData: []
})const state = reactive({exportLoading: false,dataSource: [],echartInstance: undefined
})
watch(() => props.tableData,(val) => {state.dataSource = valnextTick(() => {renderEchartBar()})}, {deep: true,immediate: true
})
function renderEchartBar() {// 基于准备好的dom,初始化echarts实例const domInstance=document.getElementById('barChartId')if(domInstance){domInstance.removeAttribute('_echarts_instance_')}else{return }const myChart = echarts.init(domInstance);const option = {title: {text: 'csdn 质量分柱状图 点击跳转到对应的文章'},toolbox: {show: true,feature: {saveAsImage: {}}},dataZoom: [{id: 'dataZoomX',type: 'slider',xAxisIndex: [0],filterMode: 'filter'}],tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},legend: {},xAxis: {type: 'category',data: state.dataSource.map(item => item.postTime)},yAxis: {type: 'value'},grid: {x: 60,x2: 100},tooltip: {formatter: function (params) {let findItem = state.dataSource.find(item => {return item.postTime == params.name})if (!findItem) {return ''}return `<span style='color:blue'>-<span> 博客标题:${findItem.title}  <br><span style='color:green'>-<span> 博客质量:${params.value} <br><span style='color:red'>-<span> 博客建议:${findItem.message}<br><span style='color:blue'>-<span> 博客地址:${findItem.url}<br><span style='color:blue'>-<span> 发文时间:${params.name}<br>`},},series: [{data: state.dataSource.map(item => item.score),type: 'bar',showBackground: true,backgroundStyle: {color: 'rgba(180, 180, 180, 0.2)'},label: { //柱体上显示数值show: true,//开启显示position: 'center',//在上方显示textStyle: {//数值样式fontSize: '2px',color: 'blue'}},markPoint: {data: [{ type: 'max', name: '最高分' },{ type: 'min', name: '最低分' }]},markLine: {itemStyle: {normal: {lineStyle:{type: 'dotted',},label:{show: true,position: 'middle',color: 'red',lineHeight: 35,backgroundColor: 'rgba(255,255,255.7)',formatter: (params) => {return params.name + ":" + params.value}}}},data: [{type: 'average',name: '平均分'}]}}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option, true);// 监听state.echartInstance = myChart;myChart.on('click', function (params) {const findItem = state.dataSource.find(item => {return item.postTime == params.name})if (params.name) {window.open(findItem.url, '_blank')}});window.onresize = myChart.resize;
}onUnmounted(() => {window.onresize = null
})
</script>

csdn 质量分柱状图效果
bar-data

💖 vue3 封装 饼图分布 组件

yma16社区文章数量:

export const pieData= [{ value: 270, name: 'csdn博客' },{ value: 131, name: '掘金博客' },{ value: 60, name: '阿里云开发者社区' },{ value: 30, name: '华为云开发者社区' },{ value: 10, name: '腾讯云开发者社区' },{ value: 10, name: '51cto博客' },]

饼图分布代码实现

<template><div id="pieChartId" style="width:800px;height:300px;margin: 0 auto"></div>
</template>
<script setup>import * as echarts from 'echarts';
import { defineProps, reactive, watch, nextTick, onUnmounted,onMounted } from 'vue';
import {pieData} from './data.js'const state = reactive({exportLoading: false,echartInstance: undefined,hubData:[],
})function renderEchartLine() {// 基于准备好的dom,初始化echarts实例const domInstance=document.getElementById('pieChartId')if(domInstance){domInstance.removeAttribute('_echarts_instance_')}else{return }const myChart = echarts.init(domInstance);const seriesItem= {name: 'Access From',type: 'pie',radius: '50%',data:state.hubData,label:{color:'#ffffff'},emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}const seriesData=[seriesItem]const option = {title: {text: '社区文章数量占比',textStyle:{color:'#ffffff'}},toolbox: {show: true,feature: {saveAsImage: {}}},tooltip: {trigger: 'axis',},xAxis: {axisLabel:{color:'#ffffff'}},yAxis: {axisLabel:{color:'#ffffff'}},grid: {x: 60,x2: 100},series: seriesData};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option, true);// 监听state.echartInstance = myChart;window.onresize = myChart.resize;
}onUnmounted(() => {window.onresize = null
})
const getHubConfig= ()=>{state.hubData=[...pieData]renderEchartLine()
}onMounted(()=>{getHubConfig()
})
</script>

饼图效果
pie-data

💖inscode代码块

⭐总结

前端截图
data-visual

以上是我2023的可视化数据

可视化分析
可视化分析是通过图表、图形、地图等可视化的方式呈现数据和信息的分析方法。相比传统的数据分析方法,可视化分析具有以下优势:

  1. 更直观:可视化分析使用图表和图形展示数据,使数据变得更加直观和易于理解。通过可视化,人们可以快速地看到数据中的模式、趋势和关联,而不需要深入研究数据背后的复杂性。

  2. 更易于发现洞察力:可视化分析有助于发现隐藏在数据中的洞察力和新的信息。通过对数据进行可视化呈现,人们可以更容易地发现异常值、趋势、相关性和模式,从而提供新的洞察力和决策支持。

  3. 更高效的决策:可视化分析可以帮助人们更快速地做出决策。通过可视化呈现数据,人们可以更快地获取重要信息,了解业务情况,并基于这些信息做出决策。与传统的数据分析方法相比,可视化分析更加直观和高效。

  4. 更好的沟通和共享:可视化分析能够帮助人们更好地沟通和共享数据和信息。通过可视化呈现数据,人们可以更好地向他人解释数据和分析结果,并确保大家对数据的理解是一致的。同时,可视化结果可以很容易地与他人共享,并且可以轻松地被他人理解和使用。

  5. 更灵活的探索:可视化分析提供了一种灵活的数据探索方式。通过可视化工具,人们可以根据需要自由地探索数据,并以不同的角度和维度查看和分析数据。这种灵活性可以帮助人们发现潜在的模式和关联,且能够更好地理解数据背后的故事。

💖 2024 展望

2024年的计划我分为以下几点:

  1. 热爱生活,开始健身
  2. 拥抱web3.0和gpt
  3. 追自己的梦,放平心态
  4. 坚持副业
  5. stay hungry stay foolish

⭐结束

本文分享到这结束,如有错误或者不足之处欢迎指出!
earth

👍 点赞,是我创作的动力!
⭐️ 收藏,是我努力的方向!
✏️ 评论,是我进步的财富!
💖 最后,感谢你的阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/591106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…

(self-supervised learning)Event Camera Data Pre-training

Publisher: ICCV 2023 MOTIVATION OF READING: 自监督学习、稀疏事件 NILM link: https://arxiv.org/pdf/2301.01928.pdf Code: GitHub - Yan98/Event-Camera-Data-Pre-training 1. Overview Contributions are summarized as follows: 1. A self-supervised framework f…

如何下载LANDSAT数据

LANDSAT&#xff08;Land Remote Sensing Satellite&#xff09;是美国国家航空航天局&#xff08;NASA&#xff09;与美国地质调查局&#xff08;USGS&#xff09;合作推出的一系列卫星&#xff0c;旨在提供地球表面的高分辨率遥感数据。LANDSAT卫星系列始于1972年&#xff0c…

win10连上了wifi热点但是无法上网

我的情况是能正常连接wifi热点&#xff08;手机连接这个热点能上网&#xff0c;说明这个wifi热点是正常的&#xff09; 但是没法上网 打开cmd窗口发现能ping通百度&#xff0c;掘金&#xff0c;csdn这些网址。这就更奇怪了&#xff01;于是根据上面的提示&#xff0c;检查了代…

【数据结构和算法】 相等行列对

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 三层循环 2.2 哈希 二层循环 三、代码 3.1 三层循环 3.2 哈希 二层循环 四、复杂度分析 4.1 …

LeetCode74二分搜索优化:二维矩阵中的高效查找策略

题目描述 力扣地址 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&…

抖店和商品橱窗有什么区别?新手应该选哪个?

我是电商珠珠 临近年底了&#xff0c;有的人已经开始为下一年筹谋&#xff0c;有的去抖音做账号做直播带货&#xff0c;不会直播带货的就想尝试做下抖店&#xff0c;来为以后的经济打基础。 刚想要接触却对这类有些迷糊&#xff0c;发现商品橱窗和抖店都可以卖货&#xff0c;…

jumpServer-01-跳板机与堡垒机

jumpServer-01-跳板机与堡垒机 文章目录 jumpServer-01-跳板机与堡垒机一、为什么需要跳板机&#xff1f;二、堡垒机的核心价值三、跳板机与堡垒机的区别四、堡垒机的核心作用与价值 一、为什么需要跳板机&#xff1f; 跳板机&#xff08;Jump Server&#xff09;是一种安全设备…

C# WPF上位机开发(以始为终,寻找真实的上位机需求)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 c# wpf、qt、mfc这些上位机的需求是真实存在的&#xff0c;在现实中有很多应用的地方&#xff0c;这一点大家都很清楚。而程序员本身呢&#xff0c…

iOS问题记录 - iOS 17通过NSUserDefaults设置UserAgent无效(续)

文章目录 前言开发环境问题描述问题分析1. 准备源码2. 定位源码3. 对比源码4. 分析总结 解决方案补充内容1. UserAgent的组成2. UserAgent的设置优先级 最后 前言 在上篇文章中对该问题做了一些判断和猜测&#xff0c;并给出了解决方案。不过&#xff0c;美中不足的是没有进一…

117基于matlab的短时傅里叶变换(STFT)、小波变换(WT)、同步压缩变换(SST)、瞬态提取变换(TET)进行时频分析

基于matlab的短时傅里叶变换&#xff08;STFT&#xff09;、小波变换&#xff08;WT&#xff09;、同步压缩变换&#xff08;SST&#xff09;、瞬态提取变换&#xff08;TET&#xff09;进行时频分析。程序已调通&#xff0c;可直接运行。 117时频分析短时傅里叶变换 (xiaohong…

酷开系统 | 重磅!酷开科技荣获第十届广东专利优秀奖!

2023年12月16日广东省市场监督管理局公布了第十届广东专利奖获奖名单并进行了公示。其中&#xff0c;深圳市酷开网络科技股份有限公司申报的专利“一种智能电视的交互系统及方法”&#xff08;专利号ZL201310038386.0&#xff09;&#xff0c;荣获第十届广东专利优秀奖。 广东…

CSS 纵向底部往上动画

<template><div class"container" mouseenter"startAnimation" mouseleave"stopAnimation"><!-- 旋方块 --><div class"box" :class"{ scale-up-ver-bottom: isAnimating }"><!-- 元素内容 --&g…

【图像拼接】源码精读:Seam-guided local alignment and stitching for large parallax images

第一次来请先看这篇文章&#xff1a;【图像拼接&#xff08;Image Stitching&#xff09;】关于【图像拼接论文源码精读】专栏的相关说明&#xff0c;包含专栏内文章结构说明、源码阅读顺序、培养代码能力、如何创新等&#xff08;不定期更新&#xff09; 【图像拼接论文源码精…

在Adobe Acrobat上如何做PDF文档签名

Adobe Acrobat如何做PDF文档签名&#xff1f;PDF文档签名是指对PDF文档进行基于证书的数字签名&#xff0c;类似于传统的手写签名&#xff0c;可标识签名文档的人员。与手写签名不同&#xff0c;数字签名难以伪造&#xff0c;因为其包含签名者唯一的加密信息。为PDF文档进行基于…

网络四元组

文章目录 网络四元组 今天我们来聊聊 网络四元组 网络四元组 四元组&#xff0c;简单理解就是在 TCP 协议中&#xff0c;去确定一个客户端连接的组成要素&#xff0c;它包括源 IP 地址、目标 IP 地址、源端口号、目标端口号。 正常情况下&#xff0c;我们对于网络通信的认识可…

【C++】Ubuntu编译filezilla client

在新版Ubuntu 22.04.3 LTS上编译filezilla client成功&#xff0c;shell命令如下&#xff1a; sudo apt-get install libfilezilla-dev libwxbase3.0-dev gnutls-dev libdbus-1-dev sudo apt-get install libwxgtk3.0-gtk3-dev sudo apt-get install libgtk-3-dev sudo apt-ge…

华为云默认安全组配置规则说明

华为云服务器默认安全组可选Sys-default、Sys-WebServer或Sys-FullAccess。default是默认安全组规则&#xff0c;只开放了22和3389端口&#xff1b;Sys-WebServer适用于Web网站开发场景&#xff0c;开放了80和443端口&#xff1b;Sys-FullAccess开放了全部端口。阿腾云atengyun…

Python数据科学应用从入门到精通--Python读取、合并SPSS数据文件

在很多情况下&#xff0c;我们需要调用SPSS软件产生的数据&#xff0c;下面通过示例来进行讲解。首先需要将本书提供的数据文件存储在安装spyder-py3的默认路径位置&#xff08;C:/Users/Administrator/.spyder-py3/&#xff0c;注意具体的安装路径可能与此不同&#xff09;&am…

IOS - 手机安装包 ipa 常见几种方式

安装 ipa 包的方法有很多中&#xff0c;可以通过不同的软件安装&#xff0c;本文只列出了常用的几种&#xff0c;做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后&#xff0c;会自动连接iTunes&#xff0c;&#xff08;第一次连接的时候会提示是否信任此电脑&#xff0…