在线观看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次閱讀
    主站蜘蛛池模板: 免费高清成人啪啪网站 | 在线免费公开视频 | 欧美日韩国产一区二区 | 中国一级特黄真人毛片免费看 | 国产午夜精品片一区二区三区 | 婷婷影院在线综合免费视频 | 三级视频网站在线观看播放 | 国产午夜免费一区二区三区 | 97综合色| 一级特黄aaa大片在线观看视频 | 高清不卡一区二区三区 | 日本免费色网站 | 99国产成人精品2021 | 手机免费在线视频 | 亚洲午夜视频在线观看 | 日本偷偷操 | 欧美簧片 | 视频一区中文字幕 | 激情综合激情 | 一级中文字幕乱码免费 | 日韩色中色 | 玖玖在线 | 天天拍夜夜操 | 天天免费看片 | 一区二区在线免费观看 | 久久一级毛片 | 色成人综合 | 不卡视频一区 | 国产香蕉视频在线观看 | 天天做天天爱天天一爽一毛片 | 久久观看视频 | 国产三级精品在线观看 | 日本美女中出 | 天天做夜夜做久久做狠狠 | 久久国产精品网 | 亚洲日本一区二区三区 | 久久美女性网 | 男人天堂网2021 | 99久久香蕉国产综合影院 | 日韩免费精品一级毛片 | 亚洲人成影院在线高清 |