搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Gausst松鼠会
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
vue-cli安装scss,element-ui,md5,vuex_./src/styles/common.scss
2
小程序二级页面tabbar_微信小程序自定义tabbar
3
目标检测算法 YOLOv8 原理解析|包揽目标检测、实例分割 SOTA_yolov8算法
4
npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案
5
基于C#的AE二次开发之地图放大、缩小、平移、漫游、选择等等_ae开发arcmap10.2c#地图放大缩小
6
python中Turtle的方向介绍_python turtle面向方向
7
前端开发之el-table 表头不换行且宽度自适应
8
SystemUI架构分析学习
9
Docker存储空间清理
10
Uipath 学习栏目基础教学:8、uipath 屏幕抓取获取文本_uipath获取文本
当前位置:
article
> 正文
amcharts图表使用总结
作者:Gausst松鼠会 | 2024-02-19 12:34:46
赞
踩
amcharts
Amcharts JS 版属性/方法详细说明书
1、 坐标轴(Y轴)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 valueAxis对象 图表的Y轴,一个图表中可以有多个Y轴 Var valueAxis = new AmCharts.ValueAxis();
2 axisColor 轴的颜色 valueAxis.axisColor = "#FF6600";
3 axisThickness 轴的宽度 valueAxis.axisThickness = 1;
4 gridAlpha 轴的透明度,值介于0-1之间,0全透明 valueAxis1.gridAlpha = 0.2;
5 tickLength 轴从下到上像左或右伸出来的延长线 valueAxis1.tickLength =0;
6 minimum 轴的最小值,如果不设置那么最小值根据数据动态变化 valueAxis1.minimum = -100;
7 maximum 轴的最大值,如果不设置那么最大值根据数据动态变化 valueAxis1.maximum = 100;
8 title 轴的名称 valueAxis1.title="哈哈";
9 logarithmic 是否为对数函数分布,一般轴的刻度是均匀划分的,当该属性设置为true的时候,刻度分布呈对数形式分布 valueAxis1.logarithmic = false;
10 integersOnly 是否只显示整数,如果为true轴的刻度只显示整数形式 valueAxis1.integersOnly = true;
11 gridCount 最大刻度个数 valueAxis1.gridCount = 10;
12 unit 单位 valueAxis1.unit = "%";
13 labelsEnabled 是否显示轴标签,默认值为true valueAxis1.labelsEnabled = true;
14 inside 轴的刻度值显示在表里面还是外面 valueAxis1.inside = true;
15 position 轴的位置,默认在左侧 valueAxis1.position = "left";
16 stackType valueAxis.stackType = "0%";
2、 categoryAxis(图表线,相当于X轴)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 valueAxis对象 图表的线,一个图表中可以有多个,每个对应一个Y轴或者共同拥有一个Y轴 var categoryAxis = chart.categoryAxis;
2 parseDates 是否以日期为x轴的值 True、false categoryAxis.parseDates = false;
3 minPeriod 当以日期为x轴的时候x轴显示的最小范围 SS:分钟 DD:天 categoryAxis.minPeriod = "SS"
4 dashLength 破折线长度,默认为0是实心线 categoryAxis.dashLength = 1;
5 gridAlpha 网格的透明度,垂直x轴的刻度线形成网格 categoryAxis.gridAlpha = 0.15;
6 axisColor 轴的颜色 categoryAxis.axisColor = "#DADADA";
7 position 轴的位置,默认在最下方 top:显示在上方 left:左侧right:右侧 categoryAxis.position = "top";
8 gridPosition 网格位置 categoryAxis.gridPosition = "start";
9 startOnAxis 是否从轴上开始绘制,默认为false,即第一个点绘制是从中间开始的,当设置为true的时候,第一个点开始总是从Y轴上开始,结束总是在最后一个跟Y轴平行的轴上结束 true、false categoryAxis.startOnAxis = true;
10 gridColor 网格颜色 categoryAxis.gridColor = "#FFFFFF";
11 dateFormats 日期格式,将数据格式化成对应的日期格式 categoryAxis.dateFormats = [{ period:'DD', format: 'DD'},
{period:'WW', format: 'MMM DD'},
{period: 'MM',format:'MMM'}, period: 'YYYY',
format: 'YYYY'
}];
12
3、 Legend(图例)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 legend对象 在图表的上方或者下方显示图例,图例的颜色就是对应线条的颜色 var legend = new AmCharts.AmLegend();
2 align 排列样式 center legend.align = "center";
3 marginLeft 左边缘 legend.marginLeft = 0;
4 title 标题 legend.title="测试";
5 horizontalGap 水平间隔,一个图表可以有多个图例,图例之间的间隔用此属性 legend.horizontalGap = 10;
6 equalWidths 是否等宽 legend.equalWidths = false;
7 valueWidth 值的宽度,在图例的右侧会显示该线或者图表的当前选中的值,设置为0时则不显示值 legend.valueWidth = 120;
8 switchType 暂时没明白什么意思 legend.switchType = "v";
4、 Guide(向导线)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 guide对象 向导线可以是一条根Y轴平行的线,也可以是一个矩形区域 var guide = new AmCharts.Guide();
2 fillAlpha 区域透明度 guide.fillAlpha = 0.1;
3 lineAlpha 线透明度 guide.lineAlpha = 0;
4 value 其实值,其实指对应Y坐标的值 guide.value = 50;
5 toValue 到达值,其实指对应Y坐标的值,跟上面属性共同确定了一个从value到toValue的区域,宽度为图表的宽度,高度为(toValue-value)的绝对值 guide.toValue = 0;
6 lineColor 相导线的颜色 guide.lineColor = "#CC0000";
7 dashLength 破折长度,默认为0为实心线条,设置值后为破折线 guide.dashLength = 4;
8 label 标签,就是给向导线显示一个名字 guide.label = "平均值";
9 inside 是否让向导线显示在图形里面,默认为true True,false guide.inside = true;
5、 Scrollbar(滚动条)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 scrollbar对象 滚动条可以选择图表显示的区域 var chartScrollbar = new AmCharts.ChartScrollbar();
3 backgroundAlpha 滚动条背景透明度 chartScrollbar.backgroundAlpha = 0.1;
4 backgroundColor 滚动条背景颜色 chartScrollbar.backgroundColor = "#000000";
5 graphLineAlpha 图像线条的透明度 chartScrollbar.graphLineAlpha = 0.1;
6 graphFillAlpha 图像的填充透明度 chartScrollbar.graphFillAlpha = 0;
7 selectedGraphFillAlpha 选中图像的填充色的透明度 chartScrollbar.selectedGraphFillAlpha = 0;
8 selectedGraphLineAlpha 选中区域的图像线条透明度 chartScrollbar.selectedGraphLineAlpha = 0.25;
9 scrollbarHeight 滚动条高度 chartScrollbar.scrollbarHeight = 30;
10 selectedBackgroundColor 选中区域的背景颜色 chartScrollbar.selectedBackgroundColor = "#FFFFFF";
6、 Graph (图表)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 graph对象 图像对象,必须有该属性 var graph1 = new AmCharts.AmGraph();
2 valueAxis 图像的Y轴,一个chart可以添加多个graph,一个graph只能有一个valueAxis graph1.valueAxis = valueAxis1;
3 valueField 指定一个字段作为Y坐标值 graph1.valueField = "visits";
4 bullet 图像的节点类型 graph1.bullet = "round";
5 dashLength 绘制图像时延时,默认为0秒,设置为正整数时可以看到动态生成效果 graph1.dashLength = 0;
6 hideBulletsCount 一个图像中当节点大于一定数值后隐藏节点形状 graph1.hideBulletsCount = 10;
7 balloonText 节点显示的文本内容 graph1.balloonText = "[[date]] ([[visits]])";
8 lineColor 图像线颜色 graph1.lineColor = "#d1655d";
9 connect 是否连接起来,是指如果数据有x轴值,但是y轴值丢失的时候,如果设置为true则忽略该点,设置为false则线条在此点处断开 graph1.connect = false;
10 bulletBorderColor 节点边框颜色 graph1.bulletBorderColor = "#FFFFFF";
11 bulletBorderThickness 节点边框宽度 graph1.bulletBorderThickness = 2;
12 customBulletField 用户自定义节点字段 graph.customBulletField = "bullet";
13 bulletOffset 节点偏移量 graph.bulletOffset = 16;
14 cornerRadiusTop graph.cornerRadiusTop = 8;
15 bulletSize 节点大小 graph.bulletSize = 14;
16 colorField 颜色字段,颜色可以从数据中读取 graph1.colorField = "color";
17 type 图像类型,有line、column、smoothedLine类型,第一种为线形图,第二种为柱状图 line /column/smoothedLine graph1.type = "line";
18 fillAlphas 填充区透明度,默认为0,最大值为1,当设置值时,在线条跟x轴之间的区域会填充颜色 graph1.fillAlphas = 0.3;
19 negativeLineColor 当数值为负数时线条的颜色 graph1.negativeLineColor = "#efcc26";
7、 Chart (amcharts 对象)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 chart对象 Amcharts 的核心对象 var chart = new AmCharts.AmSerialChart();
2 pathToImages 指定chart图片的引用地址 chart.pathToImages = "amcharts/images/";
3 zoomOutButton 设置放大/缩小按钮的背景色和透明度 chart.zoomOutButton = {
backgroundColor: '#000000',
backgroundAlpha: 0.15
};
4 dataProvider 指定数据来源,一般指向一个数组对象 chart.dataProvider = chartData;
5 categoryField 指定X轴由哪个字段决定 chart.categoryField = "date";
6 autoMargins 自动调整边距,如果设置为true则边距设置不起效 chart.autoMargins = true;
7 fontSize 字体大小 chart.fontSize = 14;
8 color 图标颜色 chart.color = "#FFFFFF";
9 marginTop 上边距 chart.marginTop = 100;
10 marginLeft 左边距 chart.marginLeft = 50;
11 marginRight 右边距 chart.marginRight = 30;
12 addGraph(graph) 添加一个图形,可以添加多个,想要绘制图形,必须有此方法 chart.addGraph(graph1);
13 validateNow(div) 当数据改变时或者属性改变时,想要重新绘图,可以调用该方法 chart.validateNow('chartdiv');
14 chart.write('chartdiv'); 将amcharts对象写到一个div中,最常用方法 chart.chart.write('chartdiv');;
15 addListener('dataUpdated', zoomChart) 添加一个监听函数,第一个参数是指定事件,第二个是调用的函数名 chart.addListener('zoomed', handleZoom); chart.addListener('dataUpdated', zoomChart);
16 rotate 图像是否xy轴互换,默认为false,如果想让图像顺时针旋转90°,则设置为true False,true chart.rotate = false;
17 depth3D 设置为3d图像的厚度值 chart.depth3D = 50
18 angle 角度,当设置图像为3d图时使用该属性,默认为0 chart.angle = 40
19 startDuration chart.startDuration = 2
20 plotAreaBorderColor 绘图区域边框颜色 chart.plotAreaBorderColor = "#000000";
21 plotAreaBorderAlpha 绘图区域边框透明度 chart.plotAreaBorderAlpha = 5;
22 backgroundImage 设置背景图片的地址 chart.backgroundImage = "amcharts/images/bg.jpg";
23 addChartScrollbar(chartScrollbar) 添加滚动条,只能添加一个 chart.addChartScrollbar(chartScrollbar);
24 addLegend(legend) 添加图例,可以添加多个 chart.addLegend(legend);
25 addValueAxis(valueAxis1) 添加Y轴。可以添加多个 chart.addValueAxis(valueAxis1);
26 addChartCursor(chartCursor) 添加鼠标形状 chart.addChartCursor(chartCursor);
27
28
29
30
31
32
8、 ChartCursor(光标)
序号 属性名/方法名 作用 对象获取方法/常用属性值 示例
1 chartCursor 对象 设置光标的形状和样式 var chartCursor = new AmCharts.ChartCursor();
2 zoomable 是否可以缩放,设为true的时候,按住鼠标左键划线可以方法图像 True/false chartCursor.zoomable = false;
3 cursorAlpha 光标透明度 chartCursor.cursorAlpha = 0;
4 cursorPosition 光标位置 chartCursor.cursorPosition = "mouse";
5 pan 默认为false,设置为true时,光标变为四个向外的箭头形状,按住左键滑动鼠标可以将图像向左移动向右移动 chartCursor.pan = true;
6 categoryBalloonDateFormat 设置光标节点显示的日期格式 chartCursor.categoryBalloonDateFormat = "JJ:NN, DD MMMM";
9、 动态图表示例
1、需要在html页面增加一个div,同时设置div的id和样式,amcharts将图表显示在指定的id的div中
<div id="chartdiv" style="width: 50%; height: 300px"></div>
2、引用amcharts js 库和css样式
<script src="amcharts/amcharts.js" type="text/javascript"></script>
<link rel="stylesheet" href="style.css" type="text/css">
3、设定一个定时器,循环调用函数
window.setInterval(show,2000);//每隔2秒调用一次show()方法,show方法完成绘图功能
function show(){
var chart = new AmCharts.AmSerialChart();
var valueAxis1 = new AmCharts.ValueAxis();
var graph1 = new AmCharts.AmGraph();
var categoryAxis = chart.categoryAxis;
var guide = new AmCharts.Guide();
var legend = new AmCharts.AmLegend();
var chartCursor = new AmCharts.ChartCursor();
//设定最大显示数值个数
generateChartData();
chart.pathToImages = "amcharts/images/";
chart.zoomOutButton = {
backgroundColor: '#000000',
backgroundAlpha: 0.15
};
chart.dataProvider = chartData;
chart.categoryField = "date";
categoryAxis.parseDates = false; // as our data is date-based, we set parseDates to true
categoryAxis.dashLength = 1;
categoryAxis.gridAlpha = 0.15;
categoryAxis.axisColor = "#DADADA";
// categoryAxis.position = "top";
categoryAxis.gridPosition = "start";
categoryAxis.startOnAxis = true;
categoryAxis.gridColor = "#FFFFFF";
// CURSOR
chartCursor.zoomable = false; // as the chart displayes not too many values, we disabled zooming
chartCursor.cursorAlpha = 0;
chartCursor.cursorPosition = "mouse";
chartCursor.pan = true; // set it to fals if you want the cursor to work in "select" mode
chart.addChartCursor(chartCursor);
valueAxis1.axisColor = "#FF6600";
valueAxis1.axisThickness = 1;
valueAxis1.gridAlpha = 0;
valueAxis1.tickLength =0;
valueAxis1.minimum = -100;
valueAxis1.maximum = 100;
valueAxis1.title="哈哈";
valueAxis1.logarithmic = false; // this line makes axis logarithmic
valueAxis1.integersOnly = true;
valueAxis1.gridCount = 10;
valueAxis1.unit = "%";
valueAxis1.labelsEnabled = true;
valueAxis1.inside = true;
valueAxis1.position = "left";
chart.addValueAxis(valueAxis1);
// LEGEND
legend.align = "center";
legend.marginLeft = 0;
legend.title="测试";
legend.horizontalGap = 10;
legend.equalWidths = false;
legend.valueWidth = 120;
chart.addLegend(legend);
guide.fillAlpha = 0.1;
guide.lineAlpha = 0;
guide.value = 50;
guide.toValue = 0;
guide.lineColor = "#CC0000";
guide.dashLength = 4;
guide.label = "平均值";
guide.inside = true;
guide.lineAlpha = 1;
var guide1 = new AmCharts.Guide();
guide1.lineColor = "#CC0000";
guide1.lineAlpha = 1;
guide1.dashLength = 2;
guide1.inside = true;
guide1.labelRotation = 90;
categoryAxis.addGuide(guide1);
valueAxis1.addGuide(guide);
graph1.valueAxis = valueAxis1; // we have to indicate which value axis should be used
graph1.title = "红色";
graph1.valueField = "visits";
graph1.bullet = "round";
graph1.dashLength = 0;
graph1.hideBulletsCount = 10;
graph1.balloonText = "[[date]] ([[visits]])";
graph1.lineColor = "#d1655d";
graph1.connect = false;
graph1.negativeLineColor = "#efcc26";
graph1.bulletBorderColor = "#FFFFFF";
graph1.bulletBorderThickness = 2;
graph1.type = "smoothedLine"; // this line makes the graph smoothed line.
graph1.fillAlphas = 0.3; // setting fillAlphas to > 0 value makes it area graph
chart.addGraph(graph1);
chart.addTitle("测试动态报表图", 5);
chart.plotAreaBorderColor = "#000000";
chart.plotAreaBorderAlpha = 5;
chart.autoMargins = true;
chart.fontSize = 14;
chart.write('chartdiv');
chart=null;
valueAxis1 = null;
graph1 = null;
categoryAxis = null;
guide = null;
legend = null;
}
function generateChartData() {
$.ajax({
type : "get",
url : "${pageContext.request.contextPath}/getData",
dataType : "text",
data : {
},
success : function(result) {
parseData(result,20);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("请求异常,请检查服务器是否正常运行!" + XMLHttpRequest.status + " "
+ XMLHttpRequest.readyState + " " + textStatus);
}
});
}
function parseData(data,num){
var tempDate = [];
tempDate = data.split(" ");
chartData.push({
date:tempDate[0],
visits:tempDate[1]
});
var newChartData=[];
var len=chartData.length;
if(len>num){
for(var m=0;m<num;m++){
newChartData[m]=chartData[len-num+m];
}
chartData = newChartData;
newChartData=null;
}
len=null;
visits=null;
}
4、写一个servlet程序,给amcharts提供动态数据
public class DataProviderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public static Integer i=0;
public DataProviderServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
StringBuilder sb = new StringBuilder();
sb.append(i++).append(" ").append(new Random().nextInt(100)*(i%2==0?(-1):(1)));
System.out.println(sb.toString());
response.getWriter().write(sb.toString());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
5、效果截图
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/114730
推荐阅读
article
Unity
基础
异步
加载
场景_
unity
异步
加载
场景...
在
Unity
中,
异步
加载
场景是指在游戏运行时,将场景中的资源分批次
加载
到内存中,以便提高游戏的
加载
速度和性能。通常情况下...
赞
踩
article
获取
el
-
table
表格中
选中
行
的
数据
_
el
-
table
获取
选中
行
数据
...
这个数组将包含
选中
的
行
的所有
数据
对象。在该方法中,将
选中
的
行
数据
保存在。事件监听,当选择
行
发生变化时,会触发。_
el
-t...
赞
踩
article
Unity
视频
播放器
,
基于
VideoPlayer
,
实现滑动进度条
,
显示
视频
时长
,
全屏显示
,
音量调节...
unity播放
视频
的方式有很多种
,
但即轻量又好用的
,
还是unity自带的
VideoPlayer
,
但没有
视频
基础操作的UI...
赞
踩
article
el
ement UI选中
el
-
table
的
第一行
_
el
-
table
选中
第一行
...
业务需求默认选中表格的
第一行
<
el
-
table
ref="interfaceTable" v-loading="...
赞
踩
article
UDP
实时
图像
传输
_
udp
发图片...
使用C#窗体在两台PC上分别创建一个
图像
发送端和一个
图像
接收端,发送端采集摄像头
图像
,压缩为JPEG格式后使用
UDP
发送...
赞
踩
article
COM
连接点
在
多线程
中使用的
注意事项
...
com atl connectionpoint
连接点
多线程
COM
连接点
在
多线程
中使用的
注意事项
...
赞
踩
article
python
的
正则表达式
_
python
字母
校正,请
使用
正则表达式
实现
。
...
正则表达式
正则表达式
是对字符串(包括普通字符(例如,a 到 z 之间
的
字母
)和特殊字符(称为“元字符”))操作
的
一种逻辑...
赞
踩
article
爬
爬
爬
——今天
是
浏览器
窗口
切换和给所选人打钩(
自动化
)...
学习
爬
虫路还很长,第一阶段花了好多天了,还在底层,虽然不
是
我专业要学习的语言,和必备的知识,但
是
我感觉还挺有意思的。加油...
赞
踩
article
基于
微信
小
程序
乐器
吉他
购物
商城
系统设计与实现(PHP+
Mysql
后台)_乐器
商城
app
毕业设计
...
基于
微信
小
程序
乐器
吉他
购物
商城
系统设计与实现(PHP+
Mysql
后台)毕设
毕业设计
,黄菊华老师《Vue.js入门与
商城
开...
赞
踩
article
Matplotlib
python
画图详解及实例
_
matplotlib
python
代码...
Matplotlib
是一个 Python 的 2D绘图库(包括3D图表),它以各种硬拷贝格式和跨平台的交互式环境生成出...
赞
踩
article
数据分析
中部分常用绘图库学习小结
_
au
to
_
add
_
to
_
figure
...
自定义曲面颜色,colors为颜色板颜色,如rainbow、viridis、Reds、Blues等,data形状同Z(相...
赞
踩
article
3dsmax2022
版本找不到
漫反射
和
环境光
解决_
3dmax
材质
编辑器
没有
漫反射
...
选择
材质
类型(物理
材质
那个按钮)选择扫描线->选择标准(旧版)渲染->渲染设置->渲染器->扫描渲染器。参考了贴吧大佬的...
赞
踩
article
element
-ui
表格
中
的
复选框
默认
选中
状态、禁用状态以及
默认
选中
不可取消状态_
element
t...
一. 实现
表格
多选框1.首先要想在
表格
中实现多选:需要手动添加一个el-table-column,设type属性为sel...
赞
踩
article
Qt5.10
下
QtTreePropertyBrowser
的
应用_qtvariantpropertym...
最近在使用Qt做一个项目,用到了类似于qtcreator
的
UI设计器
的
树形属性页。借鉴了网上各位大神
的
帖子接合自己
的
实现...
赞
踩
article
自己写
的
一个根据
polyline
生成顶点
坐标
表格
的
程序!
_
线段
坐标
写表...
Imports SystemImports Autodesk.AutoCAD.ApplicationServicesIm...
赞
踩
article
MySQL
连接错误(2013, “
Lost
connection
to
MySQL
server
a...
连接
MySQL
时出现了点小问题,,,启动Django项目时出现以下错误:django.db.utils.Oper
at
io...
赞
踩
article
语义
解析
技术
在大
数据
时代的应用与前景-
自然语言
生成
SQL
与
知识
图谱
问答实战【文末送书-17】...
无论是NL2
SQL
还是KBQA,它们的核心都在于对用户输入的
自然语言
进行深入的
语义
理解,并将其转化为机器可执行的指令或查...
赞
踩
article
QT笔记——
QtPropertyBrowser
的
使用
...
QtPropertyBrowser
的
使用
示例_qtpropertybrowserqtpropertybrowser ...
赞
踩
article
Selenium
图表
自动化
开篇...
图表
自动化
一直以来是
自动化
测试中的痛点,也是难点,痛点在于目前越来越多公司开始构建自己的BI报表平台但是没有合适的
自动化
...
赞
踩
article
python
_
matplotlib
绘制
三维
空间
动态图两种方法
_
python
实时
三维
动图
...
最近利用
python
想绘制
三维
点的空间轨迹的增长的一个
动图
,于是到处去搜索好的方法。想到两个办法,一是不断的刷新绘图...
赞
踩
相关标签
unity
游戏引擎
异步加载
elementui
前端
javascript
音视频
c#
UDP
实时图像传输
EmguCV
C#
多线程
vb
dll
工作
微软
google
自动化
运维
爬虫
python
小程序乐器吉他购物商城
matplotlib