在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Ohos-MPChart如何實(shí)現(xiàn)各種各樣的圖表

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-09-23 11:08 ? 次閱讀

Ohos-MPChart是OpenAtom OpenHarmony(簡(jiǎn)稱“OpenHarmony”)系統(tǒng)顯示各種圖表視圖的三方組件,用于聲明式應(yīng)用開(kāi)發(fā),提供了多種多樣的圖表視圖,包括折線圖、曲線圖、柱形圖、餅狀圖、K線圖、雷達(dá)圖、氣泡圖。適用于各種統(tǒng)計(jì)后的數(shù)據(jù)以視覺(jué)直觀的方式呈現(xiàn)。

使用場(chǎng)景

Ohos-MPChart為廣大OpenHarmony應(yīng)用開(kāi)發(fā)者在處理數(shù)據(jù)時(shí),使數(shù)據(jù)顯示更加直觀。尤其現(xiàn)在的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣的圖表以方便數(shù)據(jù)匯總。

效果展示

ae40a544-3a7b-11ed-9e49-dac502259ad0.gif

組件功能描述

Ohos-MPChart是一個(gè)強(qiáng)大的圖表視圖,主要提供多種多樣的圖表視圖,包括折線圖、曲線圖、柱形圖、餅狀圖、K線圖等等,具體功能模塊如下:

af77168c-3a7b-11ed-9e49-dac502259ad0.jpg

開(kāi)發(fā)環(huán)境

安裝IDE:支持DevEco Studio 3.0 Release(Build Version 3.0.0.993)版本。 安裝SDK:支持OpenHarmony API version 8 及以上版本

使用方法

圖表一:折線圖

b0d26eb4-3a7b-11ed-9e49-dac502259ad0.png

1.下載Ohos-MPChart組件并導(dǎo)入LineChart自定義組件:

//下載mpchart組件  npm install @ohos/mpchart --saveimport{LineChart}from'@ohos/ohos_mpchart'

OpenHarmony npm環(huán)境配置等更多內(nèi)容,請(qǐng)參考安裝教程

如何安裝OpenHarmony npm包

https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md

2.初始化數(shù)據(jù)

aboutToAppear() {    this.lineData = this.initCurveData(45, 100);    this.topAxis.setLabelCount(5, false);    this.topAxis.setPosition(XAxisPosition.TOP);    this.topAxis.setAxisMinimum(0);    this.topAxis.setAxisMaximum(50);    this.bottomAxis.setLabelCount(5, false);this.bottomAxis.setPosition(XAxisPosition.BOTTOM);    this.bottomAxis.setAxisMinimum(0);    this.bottomAxis.setAxisMaximum(50);    this.bottomAxis.setDrawAxisLine(false);    this.bottomAxis.setDrawLabels(false)
    this.leftAxis = new YAxis(AxisDependency.LEFT);    this.leftAxis.setLabelCount(7, false);    this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);    this.leftAxis.setSpaceTop(15);    this.leftAxis.setAxisMinimum(-50);    this.leftAxis.setAxisMaximum(200);    this.leftAxis.enableGridDashedLine(5,5,0)
    this.rightAxis = new YAxis(AxisDependency.RIGHT);    this.rightAxis.setDrawGridLines(false);    this.rightAxis.setLabelCount(7, false);    this.rightAxis.setSpaceTop(11);    this.rightAxis.setAxisMinimum(-50); // this replaces setStartAtZero(true)    this.rightAxis.setAxisMaximum(200);    this.rightAxis.setDrawAxisLine(false);
    var upperLimtLine:LimitLine= new LimitLine(150, "Upper Limit");    upperLimtLine.setLineWidth(4);    upperLimtLine.enableDashedLine(10, 10, 0);    upperLimtLine.setLabelPosition(LimitLabelPosition.RIGHT_TOP);    upperLimtLine.setTextSize(10);
    var lowerLimtLine:LimitLine= new LimitLine(-30, "Lower Limit");    lowerLimtLine.setLineWidth(4);    lowerLimtLine.enableDashedLine(5, 5, 0);    lowerLimtLine.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);    lowerLimtLine.setTextSize(10);
    this.leftAxis.setDrawLimitLinesBehindData(true);    this.leftAxis.addLimitLine(upperLimtLine);    this.leftAxis.addLimitLine(lowerLimtLine);  }  private initCurveData(count: number, range: number): LineData {
    let values = new JArrayList();
    for (let i = 0; i < 50; i++) {      let val: number = Math.random() * 180 - 30;      values.add(new EntryOhos(i, val));    }
    let gradientFillColor = new Array();    gradientFillColor.push(['#ffff0000', 0.1])    gradientFillColor.push(['#00ff0000', 1.0])
    let dataSet = new JArrayList();
    let set1 = new LineDataSet(values, "DataSet 1");    set1.setDrawFilled(true);    set1.enableDashedLine(10,5,0)    set1.setMode(Mode.LINEAR);    set1.setGradientFillColor(gradientFillColor)    set1.setColorByColor(Color.Black);    set1.setLineWidth(1)    set1.setDrawCircles(true);    set1.setCircleColor(Color.Black);    set1.setCircleRadius(2);    set1.setCircleHoleRadius(1)    set1.setCircleHoleColor(Color.Green)    set1.setDrawCircleHole(false)    dataSet.add(set1);
    return new LineData(dataSet)}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Stack({ alignContent: Alignment.TopStart }) {       LineChart({        topAxis: this.topAxis,        bottomAxis: this.bottomAxis,        width: this.width,        height: this.height,        minOffset: this.minOffset,        leftAxis: this.leftAxis,        rightAxis: this.rightAxis,        lineData: this.lineData,      })    }}

圖表二:柱狀圖

b10a56d0-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入BarChart自定義組件:

import{BarChart,BarChartModel} from '@ohos/ohos_mpchart'

2.初始化數(shù)據(jù)

@State model:BarChartModel = new BarChartModel();  width: number = 350; //表的寬度  height: number = 500; //表的高度  minOffset: number = 15; //X軸線偏移量  leftAxis: YAxis = null;  rightAxis: YAxis = null;  bottomAxis: XAxis = new XAxis();
  private aboutToAppear(){    this.leftAxis = new YAxis(AxisDependency.LEFT);    this.leftAxis.setLabelCount(6, false);    this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);    this.leftAxis.setSpaceTop(15);    this.leftAxis.setAxisMinimum(0);    this.leftAxis.setAxisMaximum(110);    this.leftAxis.enableGridDashedLine(10,10,0)
    this.rightAxis = new YAxis(AxisDependency.RIGHT);    this.rightAxis.setDrawGridLines(false);    this.rightAxis.setLabelCount(6, false);    this.rightAxis.setSpaceTop(11);    this.rightAxis.setAxisMinimum(0);    this.rightAxis.setAxisMaximum(110);
    this.bottomAxis.setLabelCount(5, false);    this.bottomAxis.setPosition(XAxisPosition.BOTTOM);    this.bottomAxis.setAxisMinimum(0);    this.bottomAxis.setAxisMaximum(10);
    this.setData(this.bottomAxis.getAxisMaximum(),this.leftAxis.getAxisMaximum())
    this.model.width = this.width;    this.model.height = this.height;    this.model.init();    this.model.setDrawBarShadow(false);    this.model.setDrawValueAboveBar(true);    this.model.getDescription().setEnabled(false);    this.model.setMaxVisibleValueCount(60);    this.model.setLeftYAxis(this.leftAxis);    this.model.setRightYAxis(this.rightAxis);    this.model.setXAxis(this.bottomAxis)    this.model.mRenderer.initBuffers();    this.model.prepareMatrixValuePx();  }  private setData(count: number, range: number) {    let groupSpace: number = 0.08;    let barSpace: number = 0.03; // x4 DataSet    let barWidth: number = 0.2; // x4 DataSet    let groupCount: number = count + 1;    let startYear: number = 1980;    let endYear: number = startYear + groupCount;    let values1:JArrayList =     new JArrayList();    let values2:JArrayList =     new JArrayList();    let values3:JArrayList =     new JArrayList();    let values4:JArrayList =     new JArrayList();    let randomMultiplier: number = range;    for (let i = startYear; i < endYear; i++) {      values1.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values2.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values3.add(new BarEntry(i,       (Math.random() * randomMultiplier)))      values4.add(new BarEntry(i,       (Math.random() * randomMultiplier)))    }    let set1: BarDataSet,set2:     BarDataSet,set3: BarDataSet,set4: BarDataSet;    if (this.model.getBarData() != null &&    this.model.getBarData().getDataSetCount() > 0) {      set1 = this.model.getBarData().getDataSetByIndex(0) as BarDataSet;      set2 = this.model.getBarData().getDataSetByIndex(1) as BarDataSet;      set3 = this.model.getBarData().getDataSetByIndex(2) as BarDataSet;      set4 = this.model.getBarData().getDataSetByIndex(3) as BarDataSet;      set1.setValues(values1);      set2.setValues(values2);      set3.setValues(values3);      set4.setValues(values4);      this.model.getBarData().notifyDataChanged();      this.model.notifyDataSetChanged();
    } else {      let colors: number[] =       [Color.rgb(104, 241, 175),Color.rgb(164, 228, 251),Color.rgb(242, 247, 158),Color.rgb(255, 102, 0)];      set1 = new BarDataSet(values1, "Company A");      set1.setColorsByArr(colors);      set2 = new BarDataSet(values2, "Company B");      set2.setColorsByArr(colors);      set3 = new BarDataSet(values3, "Company C");      set3.setColorsByArr(colors);      set4 = new BarDataSet(values2, "Company D");      set4.setColorsByArr(colors);
      let dataSets: JArrayList =       new JArrayList();      dataSets.add(set1);      dataSets.add(set2);      dataSets.add(set3);      dataSets.add(set4);
      let data: BarData = new BarData(dataSets);      this.model.setData(data);    }    this.model.getBarData().setBarWidth(barWidth);    this.bottomAxis.setAxisMinimum(startYear);    this.bottomAxis.setAxisMaximum(startYear + this.model.getBarData().getGroupWidth(groupSpace, barSpace) * groupCount);    this.model.groupBars(startYear, groupSpace, barSpace);}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Stack(){      BarChart({model:this.model})    }}

圖表三:餅狀圖

b129d320-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入PieChart自定義組件:

import { PieChart } from '@ohos/ohos_mpchart'

2.初始化數(shù)據(jù)

pieData: PieData = null;  @State pieModel: PieChart.Model = new PieChart.Model()  @State @Watch("seekBarXValueWatch")   seekBarX: SeekBar.Model = new SeekBar.Model()  @State @Watch("seekBarYValueWatch")   seekBarY: SeekBar.Model = new SeekBar.Model()  parties: string[] = [    "Party A", "Party B", "Party C", "Party D", "Party E", "Party F", "Party G", "Party H",    "Party I", "Party J", "Party K", "Party L", "Party M", "Party N", "Party O", "Party P",    "Party Q", "Party R", "Party S", "Party T", "Party U", "Party V", "Party W", "Party X",    "Party Y", "Party Z"]
  private aboutToAppear(): void {    this.pieData = this.initPieData(4, 10);    this.pieModel      .setPieData(this.pieData)      .setRadius(150)      .setHoleRadius(0.5)      .setOffset(new MPPointF(160,200))   // vp  }  private initPieData(count: number,   range: number): PieData{    let entries = new JArrayList();    for (var i = 0; i < count; i++) {      entries.add(new PieEntry(((Math.random() * range) + range / 5), this.parties[i % this.parties.length]))    }    //        entries.add(new PieEntry(4,'Party A'))    //        entries.add(new PieEntry(2,'Party B'))    //        entries.add(new PieEntry(5,'Party C'))    //        entries.add(new PieEntry(3,'Party D'))
    let dataSet: PieDataSet = new PieDataSet(entries,     "Election Results");    dataSet.setDrawIcons(false);    dataSet.setSliceSpace(3);    dataSet.setIconsOffset(new MPPointF(0, 40));    dataSet.setSelectionShift(5);
    // add a lot of colors    let colors: JArrayList = new JArrayList();    for (let index = 0;     index < ColorTemplate.VORDIPLOM_COLORS.length; index++) {      colors.add(ColorTemplate.VORDIPLOM_COLORS[index]);    }
    for (let index = 0;     index < ColorTemplate.JOYFUL_COLORS.length; index++) {      colors.add(ColorTemplate.JOYFUL_COLORS[index]);    }
    for (let index = 0;     index < ColorTemplate.COLORFUL_COLORS.length; index++) {      colors.add(ColorTemplate.COLORFUL_COLORS[index]);    }    for (let index = 0;     index < ColorTemplate.LIBERTY_COLORS.length; index++) {      colors.add(ColorTemplate.LIBERTY_COLORS[index]);    }    for (let index = 0;     index < ColorTemplate.PASTEL_COLORS.length; index++) {      colors.add(ColorTemplate.PASTEL_COLORS[index]);    }    colors.add(ColorTemplate.getHoloBlue());    dataSet.setColorsByList(colors);    return new PieData(dataSet)??}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Column() {      PieChart({        model: this.pieModel      })  }

圖表四:雷達(dá)圖

b189e45e-3a7b-11ed-9e49-dac502259ad0.png

1.導(dǎo)入RadarChart自定義組件:

import{RadarChart}from'@ohos/ohos_mpchart';

2.初始化數(shù)據(jù)

width: number = 300; //表的寬度  height: number = 300 //表的高度  minOffset: number = 5; //X軸線偏移量  xAxis: XAxis = new XAxis(); //頂部X軸  yAxis: YAxis = new YAxis();  data:RadarData= new RadarData();  @State  radarChartMode:RadarChartMode=new RadarChartMode();public aboutToAppear() {    this.model.menuItemArr = this.menuItemArr    this.model.title = this.title
    this.data=this.initRadarData( 5,50)    this.xAxis.setTextSize(9);    this.xAxis.setYOffset(0);    this.xAxis.setXOffset(0);    this.xAxis.setTextColor(Color.White);    const mActivities:string[] = ["Burger", "Steak", "Salad", "Pasta", "Pizza"];    this.xAxis.setValueFormatter(new     class RadarAxisValueFormatter     implements IAxisValueFormatter{      public  getFormattedValue( value:number,        axisstring {        return mActivities[value % mActivities.length];      }    });    this.xAxis.longest=mActivities[0];    this.yAxis.setLabelCount(5, false);    this.yAxis.setTextSize(9);    this.yAxis.setAxisMinimum(0);    this.yAxis.setAxisMaximum(80);    this.yAxis.setDrawLabels(false);
    this.radarChartMode.mRotateEnabled=false    this.radarChartMode.setYExtraOffset(this.model.height)    this.radarChartMode.setXAxis(this.xAxis)    this.radarChartMode.setYAxis(this.yAxis)    this.radarChartMode.setWidth(this.width)    this.radarChartMode.setHeight(this.height)    this.radarChartMode.setMinOffset(this.minOffset)    this.radarChartMode.setData(this.data)    this.radarChartMode.setPaddingLeft(30)    this.radarChartMode.setPaddingTop(100)    this.radarChartMode.init();    //this.animate('Animate XY')  }
  private initRadarData(count: number,   range: number): RadarData {    let mul:number = 80;    let min:number = 20;    let cnt:number = 5;    let entries1 = new JArrayList ();    let entries2 = new JArrayList ();
    // NOTE: The order of the entries when being added to the entries array determines their position around the center of    // the chart.    for (let i = 0; i < cnt; i++) {      let val1:number = Math.random() * mul + min;      entries1.add(new RadarEntry(val1));
      let val2:number = Math.random() * mul + min;      entries2.add(new RadarEntry(val2));    }    let set1:RadarDataSet = new RadarDataSet(entries1,     "Last Week");    set1.setColorByColor(0xb4676e81);    set1.setFillColor(0xb4676e81);    set1.setDrawFilled(true);    set1.setFillAlpha(180);    set1.setLineWidth(2);    set1.setDrawHighlightCircleEnabled(true);    set1.setDrawHighlightIndicators(false);    set1.setHighlightCircleStrokeColor(0xffffffff);    set1.setHighlightCircleFillColor(0xb4676e81)    set1.setDrawValues(true)    set1.setIconsOffset(new MPPointF(0, px2vp(0)));
    let set2:RadarDataSet = new RadarDataSet(entries2, "This Week");    set2.setColorByColor(0xb479a2af);    set2.setFillColor(0xb479a2af);    set2.setDrawFilled(true);    set2.setFillAlpha(180);    set2.setLineWidth(2);    set2.setDrawHighlightCircleEnabled(true);    set2.setDrawHighlightIndicators(false);    set2.setHighlightCircleStrokeColor(0xffffffff);    set2.setHighlightCircleFillColor(0xb479a2af)    set2.setDrawValues(true)    set2.setIconsOffset(new MPPointF(0, px2vp(0)));
    let sets = new JArrayList();    sets.add(set1);    sets.add(set2);    //    let data:RadarData = new RadarData(sets);    data.setValueTextSize(8);    data.setDrawValues(this.isDrawValuesEnable);    data.setValueTextColor(Color.White);    return data  }  public getFormattedValue(value: number): string {    var str = String(value.toFixed(1)).split(".");    if(str[1] == "0"){      return str[0];    }else{      return String(value.toFixed(1))    }}

3.添加數(shù)據(jù)到自定義曲線圖表組件

build() {    Column() {      Stack({ alignContent: Alignment.TopStart }) {        RadarChart({          radarChartMode:this.radarChartMode,        })      }    }}

其他圖表使用方式與以上圖表使用方法基本一致

b1b39146-3a7b-11ed-9e49-dac502259ad0.png

b1e48ec2-3a7b-11ed-9e49-dac502259ad0.png

b223952c-3a7b-11ed-9e49-dac502259ad0.png

b2479026-3a7b-11ed-9e49-dac502259ad0.png

b2712f80-3a7b-11ed-9e49-dac502259ad0.png

b29a53e2-3a7b-11ed-9e49-dac502259ad0.png

b2bd0aea-3a7b-11ed-9e49-dac502259ad0.png

b2dc3a1e-3a7b-11ed-9e49-dac502259ad0.png

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8952

    瀏覽量

    153223
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7242

    瀏覽量

    91039
  • OpenHarmony
    +關(guān)注

    關(guān)注

    27

    文章

    3835

    瀏覽量

    18175

原文標(biāo)題:Ohos-MPChart——支持多種圖表繪制的組件

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Ohos-MPChart組件功能描述

    Ohos-MPChart為廣大OpenHarmony應(yīng)用開(kāi)發(fā)者在處理數(shù)據(jù)時(shí),使數(shù)據(jù)顯示更加直觀。尤其現(xiàn)在的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)
    的頭像 發(fā)表于 09-23 11:01 ?1543次閱讀

    各種各樣的電容該怎么選擇?

    `我在看電路圖的時(shí)候,發(fā)現(xiàn)電容有各種各樣的,有陶瓷的,電解的,還有鉭電容,貼片的等等。不知道該怎么選用。請(qǐng)問(wèn)大概有多少種電容,分別有哪些特點(diǎn)!電路中發(fā)現(xiàn)接地的電容,選擇不同的容值和種類。這是為什么?難道濾波和容值還有關(guān)系么?`
    發(fā)表于 11-21 20:50

    Proteus實(shí)例集錦,包括電路圖、仿真程序,各種各樣的電路

    `Proteus實(shí)例集錦,包括電路圖、仿真程序,各種各樣的電路.全套的文件包括hex還有對(duì)應(yīng)的仿真圖,很不錯(cuò)。解壓后40m`
    發(fā)表于 05-12 07:11

    各種各樣的labview的控件包,越多越好。

    本人現(xiàn)要做一個(gè)小項(xiàng)目,需要用到各種各樣的控件,希望大家上傳一些,將不勝感激。
    發(fā)表于 03-15 16:44

    一個(gè)超級(jí)的A D庫(kù),,包含各種各樣的封裝庫(kù),種類豐富,資料齊全

    一個(gè)超級(jí)的A D庫(kù),,包含各種各樣的封裝庫(kù),種類豐富,資料齊全?。?!
    發(fā)表于 08-01 20:14

    這些線路中傳輸著各種各樣的控制信號(hào)

    `  不久的以前,當(dāng)我們打開(kāi)發(fā)動(dòng)機(jī),我們看到的會(huì)是一連串的線束與線路~如下圖:這些線路中傳輸著各種各樣的控制信號(hào)。    這些線束不僅增加了車身的自重,消耗更多的能源,也增加了測(cè)試工程師調(diào)試與故障
    發(fā)表于 12-20 14:47

    現(xiàn)代世界中充滿了各種各樣的電子傳感器

    在我們生活的現(xiàn)代世界中充滿了各種各樣的電子傳感器,它們通過(guò)網(wǎng)絡(luò)連接在一起。但是,大多數(shù)傳感器產(chǎn)生的數(shù)據(jù)對(duì)于我們來(lái)說(shuō)是不可見(jiàn)的,只能用于特定的應(yīng)用程序。一旦能夠消除這種障礙,讓任何聯(lián)入網(wǎng)絡(luò)的計(jì)算機(jī)都能使用這些數(shù)據(jù),我們或許就將邁入普適計(jì)算的全新時(shí)代。
    發(fā)表于 05-05 08:31

    為什么有各種各樣的的單片機(jī)?

    什么是單片機(jī)?為什么有各種各樣的的單片機(jī)?
    發(fā)表于 10-13 07:43

    Ohos-MPChart——支持多種圖表繪制的組件

    應(yīng)用開(kāi)發(fā)者在處理數(shù)據(jù)時(shí),使數(shù)據(jù)顯示更加直觀。尤其現(xiàn)在的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣圖表以方便數(shù)據(jù)匯總。效
    發(fā)表于 09-30 14:40

    Ohos-MPChart——支持多種圖表繪制的組件

    的大數(shù)據(jù)時(shí)代面對(duì)愈加龐大的數(shù)據(jù)只需要導(dǎo)入Ohos-MPChart三方組件,然后調(diào)用相關(guān)的接口就能實(shí)現(xiàn)各種各樣圖表以方便數(shù)據(jù)匯總。效果展示組件功能描述
    發(fā)表于 11-20 10:11

    Proteus實(shí)例集錦(包括電路圖.仿真程序,各種各樣的電路

    Proteus實(shí)例集錦(包括電路圖.仿真程序,各種各樣的電路):4x4鍵盤(pán),51單片機(jī)12864大液晶屏proteus仿真,8253可編程定時(shí)器計(jì)數(shù)器,竊聽(tīng)器(使用PROTEUS串口例子)V1.0,電子琴和倒計(jì)時(shí)播放音
    發(fā)表于 10-02 10:23 ?1w次下載
    Proteus實(shí)例集錦(包括電路圖.仿真程序,<b class='flag-5'>各種各樣</b>的電路

    Rinspeed將推出新款無(wú)人駕駛公交 車體還分離以滿足各種各樣的需求

    而新晉品牌 Rinspeed 就打算推出一種新型自動(dòng)駕駛汽車方案,這款車不僅搭載了自動(dòng)駕駛系統(tǒng),車體還分離以滿足各種各樣的需求。
    的頭像 發(fā)表于 01-04 10:50 ?3326次閱讀

    斷路器鎖具適用各種各樣雙孔,它的特性是怎樣的

    斷路器鎖具適用各種各樣雙孔,內(nèi)嵌跳電設(shè)備的多孔結(jié)構(gòu)隔離開(kāi)關(guān) 隔離開(kāi)關(guān)鎖--塑殼斷路器鎖由聚丙烯pp及提高滌綸布制成。可用各式各樣雙孔,嵌入跳電氣設(shè)備的多孔材料隔離開(kāi)關(guān),以及超大隔離開(kāi)關(guān)。 a.由堅(jiān)固
    發(fā)表于 02-22 14:31 ?677次閱讀

    Elasticsearch底層模塊:如何去規(guī)劃和配置各種各樣的node

    node module,主要是用來(lái)處理各種不同類型的節(jié)點(diǎn)的,es有哪些類型的node,另外就是對(duì)這些類型的node有些什么特殊的參數(shù),對(duì)于一個(gè)較大的集群來(lái)說(shuō),如何去規(guī)劃和配置各種各樣的node。
    的頭像 發(fā)表于 12-22 10:18 ?1111次閱讀

    XR在娛樂(lè)領(lǐng)域各種各樣的應(yīng)用

    (增強(qiáng)現(xiàn)實(shí))結(jié)合起來(lái)的MR(復(fù)合現(xiàn)實(shí))等,這些技術(shù)統(tǒng)稱為XR(擴(kuò)展現(xiàn)實(shí))。 XR也在娛樂(lè)領(lǐng)域開(kāi)展各種各樣的應(yīng)用。例如,在戲劇和音樂(lè)會(huì)等舞臺(tái)演出中使用XR的案例越來(lái)越多。在墻壁和地板由綠幕或大型高精度LED顯示器構(gòu)成的XR專用攝影棚進(jìn)行表演,
    的頭像 發(fā)表于 01-31 15:01 ?2729次閱讀
    主站蜘蛛池模板: 国产精品伦子一区二区三区 | 天天爽夜夜爽 | 天天插天天射天天干 | 亚洲卡5卡6卡7国色天香 | 国产嫩草影院精品免费网址 | 伊人久久综合成人亚洲 | 男女做视频网站免费观看 | 欧美女同在线观看 | 四虎影院免费在线播放 | 色多多视频在线观看 | 久久精品男人影院 | 亚欧成人乱码一区二区 | 天天黄色 | 在线免费色视频 | 亚洲精品成人网 | 伦理片日本韩国电影三级在线观看 | 生活片一级性 | 中文在线免费看影视 | 免费色在线 | 久久在线精品 | 久久精品国产亚洲综合色 | 永久免费在线观看视频 | 亚洲成人免费在线 | 国产综合视频在线 | 色婷婷亚洲十月十月色天 | 老师叫我揉她内裤越快越好 | 99热成人精品热久久669 | 国产成视频 | www.一区二区三区.com | 午夜视频播放 | 伊人久久大香线蕉综合亚洲 | 男人天堂网在线 | 亚洲第一视频在线观看 | 四虎4hu影库永久地址 | 男人边吃奶边爱边做视频日韩 | 一色屋精品免费视频 视频 一色屋免费视频 | 乱色伦短篇小说 | 日韩三级 | 午夜性爽视频男人的天堂在线 | 可以免费看黄的网址 | 久久久久亚洲香蕉网 |