版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《數(shù)據(jù)可視化技術(shù)與應(yīng)用》項(xiàng)目鞏固強(qiáng)化練習(xí)題答案目錄項(xiàng)目1影評數(shù)據(jù)分析與可視化 2項(xiàng)目2數(shù)碼產(chǎn)品銷售數(shù)據(jù)ECharts可視化 5項(xiàng)目3電器產(chǎn)品銷售數(shù)據(jù)Echarts進(jìn)階可視化 7項(xiàng)目4高校招生就業(yè)數(shù)據(jù)分析與可視化 9項(xiàng)目5招聘數(shù)據(jù)分析與可視化 11
項(xiàng)目1影評數(shù)據(jù)分析與可視化鞏固強(qiáng)化1、如何導(dǎo)入pyplot模塊?pyplot模塊繪圖的基本流程是什么?(1)導(dǎo)入pyplot模塊importmatplotlib.pyplotasplt(2)pyplot模塊繪圖的基本流程Pyplot(后面簡寫plt)繪圖之前需要完成模塊的導(dǎo)入和繪圖數(shù)據(jù)的準(zhǔn)備,然后使用plt繪圖,繪圖流程如下:第一步:導(dǎo)入模塊。導(dǎo)入pyplot模塊以及其他用到的模塊。第二步:準(zhǔn)備數(shù)據(jù)??梢詮奈募凶x取,或是創(chuàng)建數(shù)組、列表數(shù)據(jù)。第三步:畫布子圖。不是必須的,plt默認(rèn)會創(chuàng)建,如果需要改變畫布或繪制多個(gè)子圖,則需要創(chuàng)建。第四步:繪制圖形。根據(jù)準(zhǔn)備的數(shù)據(jù),使用plt的繪圖函數(shù)完成繪圖。繪圖有默認(rèn)的樣式,比如演示、形狀、標(biāo)記等,也可通過設(shè)置樣式讓圖變得更加符合需求,增加視覺美感,這里不是必須的。第五步:添加標(biāo)簽。不是必須的,但為了增加圖的可讀性,一般對繪制的圖表添加標(biāo)題、軸標(biāo)簽、刻度數(shù)據(jù)、文本標(biāo)簽等信息。第六步:保存顯示。繪制完成的圖表,可以保存為一張圖片,也可以通過運(yùn)行程序直接顯示出來。2、pyplot模塊繪制折線圖、柱狀圖、餅圖、直方圖、散點(diǎn)圖的函數(shù)是什么?pyplot模塊繪制常見圖形的函數(shù)是:(1)繪制折線圖:plot()函數(shù)(2)繪制柱狀圖:bar()函數(shù)和barh()函數(shù)(3)繪制餅圖:pie()函數(shù)(4)繪制直方圖:hist()函數(shù)(5)繪制散點(diǎn)圖:scatter()函數(shù)3、簡述你對畫布、子圖和軸的理解。pyplot模塊繪制圖形時(shí),會默認(rèn)擁有Figure對象和Axes對象。Figure對象可以理解為畫布,Axes對象表示坐標(biāo)軸區(qū)域可以理解為子圖,真正繪圖的區(qū)域。在一個(gè)畫布上默認(rèn)有一個(gè)子圖,Matplotlib圖像組成如圖1所示。Figure對象可以理解為畫布,Axes對象表示坐標(biāo)軸區(qū)域可以理解為子圖,真正繪圖的區(qū)域??梢詣?chuàng)建畫布,同樣也能在一個(gè)畫布上添加多個(gè)子圖。Figure對象允許劃分為多個(gè)繪圖區(qū)域,每個(gè)區(qū)域都是一個(gè)Axes對象,每個(gè)Axes擁有自己的坐標(biāo)系,就是子圖。畫布與子圖之間的關(guān)系如圖1、圖2所示。圖1Matplotlib圖像組成圖2Figure與Axes的關(guān)系4、軸刻度的值和標(biāo)簽如何設(shè)置?它們有什么關(guān)聯(lián)?通過xticks()函數(shù)設(shè)置x軸的刻度數(shù)目和取值;通過yticks()函數(shù)設(shè)置y軸的刻度數(shù)目和取值。以xticks()為例說明值和標(biāo)簽的關(guān)聯(lián),xticks()中有3個(gè)參數(shù):xticks(locs,[labels],**kwargs)locs參數(shù)為數(shù)組參數(shù)(array_like,optional),表示x-axis的刻度線顯示標(biāo)注的地方,即ticks放置的地方;第二個(gè)參數(shù)也為數(shù)組參數(shù)(array_like,optional),可以不添加該參數(shù),表示在locs數(shù)組表示的位置添加的標(biāo)簽,labels不賦值,在這些位置添加的數(shù)值即為locs數(shù)組中的數(shù)。因此,軸刻度的值是locs參數(shù)對應(yīng)數(shù)組的值,軸刻度的標(biāo)簽是labels參數(shù)對應(yīng)數(shù)組的值,如果不設(shè)置labels參數(shù),軸刻度的標(biāo)簽就用軸刻度的值來顯示。5、創(chuàng)建或添加子圖的方法有哪些,舉例說明如何創(chuàng)建3個(gè)子圖,把可能的情況都列出來?(1)創(chuàng)建或添加子圖的方法創(chuàng)建和添加單個(gè)子圖:subplot()函數(shù)和add_subplot()方法創(chuàng)建多個(gè)子圖subplots()函數(shù)(2)創(chuàng)建3個(gè)子圖,舉例說明如下圖:6、多柱狀圖可以通過堆疊和并列實(shí)現(xiàn),請說出它們的區(qū)別?多柱狀圖是通過在一個(gè)坐標(biāo)系下繪制了多個(gè)柱狀圖實(shí)現(xiàn),表現(xiàn)形式有堆疊柱狀圖和并列柱狀圖。堆疊柱形圖是屬于柱狀圖的一種,和并排顯示的分組柱形圖不同,堆疊柱形圖將每個(gè)柱子進(jìn)行分割以顯示相同類型下各個(gè)數(shù)據(jù)的大小情況。并列柱狀圖屬于柱狀圖的一種,又叫分組柱形圖、簇狀柱形圖,是一種以不同分組寬度相同的長方形的長度為變量的統(tǒng)計(jì)圖表,每個(gè)分組中的柱子使用不同的顏色或者相同顏色不同透明度的方式區(qū)別各個(gè)分類。堆疊柱狀圖是通過改變bottom或者left參數(shù)的值實(shí)現(xiàn)的,而并列柱狀圖是通過修改x軸的數(shù)據(jù)改變條柱的位置實(shí)現(xiàn)的。7、如何繪制散點(diǎn)圖?散點(diǎn)圖與折線圖的區(qū)別是什么?pyplot模塊中的scatter()函數(shù)方法來繪制散點(diǎn)圖。散點(diǎn)圖用于在水平軸和垂直軸上繪制數(shù)據(jù)點(diǎn),用點(diǎn)表示變量之間的關(guān)系,它表示了因變量隨自變量變化的趨勢,用于觀察變量之間的關(guān)系。折線圖主要是以折線的上升或下降來表示統(tǒng)計(jì)數(shù)量的增減變化的統(tǒng)計(jì)圖,它可以直觀的反映數(shù)據(jù)的變化趨勢。pyplot模塊中plot()函數(shù)一般用于繪制線條,包括折線和直線。8、如何實(shí)現(xiàn)中文分詞?中文分詞(ChineseWordSegmentation),將中文語句切割成單獨(dú)的詞組。Python的中文分詞庫有很多,常見的有:jieba(結(jié)巴分詞)、THULAC(清華大學(xué)自然語言處理與社會人文計(jì)算實(shí)驗(yàn)室)和pkuseg(北京大學(xué)語言計(jì)算與機(jī)器學(xué)習(xí)研究組)??梢允褂胮ip包管理器安裝jieba庫。jieba分詞器提供4種分詞模式,并且支持簡體/繁體分詞、自定義詞典、關(guān)鍵詞提取、詞性標(biāo)注。jieba分詞器的基本用法,在Python中,可以使用jieba模塊的lcut()函數(shù)進(jìn)行分詞,lcut()函數(shù)返回一個(gè)列表類型。9、停用詞的作用是什么,除了自定義停用詞表還有哪些方式可以獲???停用詞是在信息檢索中,為節(jié)省存儲空間和提高搜索效率,在處理自然語言數(shù)據(jù)(或文本)之前或之后會自動過濾掉某些字或詞,這些字或詞被稱為StopWords。停用詞的作用是在文本分析過程中過濾掉這些常見詞語,從而減少處理的復(fù)雜度,提高算法效率,并且在某些任務(wù)中可以改善結(jié)果的質(zhì)量,避免分析結(jié)果受到這些詞的干擾。常用的中文停用詞表有:中文停用詞表(cn_stopwords.txt)、哈工大停用詞表(hit_stopwords.txt)、百度停用詞表(baidu_stopwords.txt)和四川大學(xué)機(jī)器智能實(shí)驗(yàn)室停用詞庫(scu_stopwords.txt),可以從GitHub上下載(/goto456/stopwords)。10、簡述詞云圖的繪制流程。制作詞云圖的方法有很多,可以借助第三方網(wǎng)站在線詞云圖工具,也可以基于Python來制作。這里使用wordcloud制作詞云圖,制作流程如下:(1)準(zhǔn)備一段文字。(2)使用jieba分詞。(3)準(zhǔn)備停用詞。(4)WordCloud生成詞云圖。WordCloud是一款python環(huán)境下的詞云圖工具包,同時(shí)支持python2和python3,能通過代碼的形式把關(guān)鍵詞數(shù)據(jù)轉(zhuǎn)換成直觀且有趣的圖文模式。使用pip包管理器安裝WordCloud庫。使用WordCloud庫,需要通過WordCloud()函數(shù)生成一個(gè)WordCloud對象,然后通過WordCloud對象進(jìn)行一系列操作。項(xiàng)目2數(shù)碼產(chǎn)品銷售數(shù)據(jù)ECharts可視化鞏固強(qiáng)化1.ECharts開發(fā)流程包括哪些步驟?(1)引入ECharts.js插件。(2)為ECharts準(zhǔn)備一個(gè)一定大小的DIV區(qū)塊(DOM),這個(gè)DIV為有寬度和高度的容器。(3)基于準(zhǔn)備好的DOM,初始化ECharts實(shí)例。(4)指定圖表的配置項(xiàng)和數(shù)據(jù)。(5)ECharts實(shí)例關(guān)聯(lián)option,使用option指定的配置項(xiàng)和數(shù)據(jù)顯示圖表。(6)運(yùn)行瀏覽該網(wǎng)頁,檢驗(yàn)效果。2.ECharts常用組件有哪些?分別介紹其作用。ECharts常用的組件包括title、tooltip、toolbox、legend、timeline、dataZoom、grid、xAxis、yAxis、series等title:用于設(shè)置標(biāo)題,包括主標(biāo)題、副標(biāo)題。tooltip:用于設(shè)置提示框信息,可通過item、axis等觸發(fā)提示。toolbox:用于設(shè)置顯示工具欄,包括數(shù)據(jù)視圖工具、動態(tài)類型切換工具、配置項(xiàng)還原工具、圖片保存工具、縮放工具等。legend:用于設(shè)置顯示圖例。timeline:時(shí)間軸組件,提供了在多個(gè)EChartsoption間進(jìn)行切換、播放等操作的功能。dataZoom:數(shù)據(jù)區(qū)域縮放工具,可以實(shí)現(xiàn)區(qū)域放大,查看數(shù)據(jù)圖表細(xì)節(jié)。grid:網(wǎng)格組件,用于設(shè)置是否顯示直角坐標(biāo)系網(wǎng)格。xAxis:橫軸,可以指定位置、類型、名稱等。yAxis:縱軸,可以指定位置、類型、名稱等。series:數(shù)據(jù)系列,它是數(shù)據(jù)的容器,一個(gè)圖表可以包含多個(gè)數(shù)據(jù)系列,可以設(shè)置系列名稱、圖表類型、文本標(biāo)簽、圖形樣式等。3.繪制表格,對比折線圖、柱狀圖、散點(diǎn)圖、氣泡圖、餅圖、儀表盤、雷達(dá)圖、詞云圖的應(yīng)用場合。圖表類型應(yīng)用場合折線圖用于顯示時(shí)間序列數(shù)據(jù)的變化趨勢,如股票價(jià)格、氣溫變化等柱狀圖用于比較不同類別之間的數(shù)量或比例關(guān)系,如銷售額對比、人口分布等散點(diǎn)圖用于顯示兩個(gè)變量之間的關(guān)系,如身高與體重的關(guān)系,或用于識別數(shù)據(jù)中的模式或趨勢氣泡圖用于顯示三個(gè)變量之間的關(guān)系,其中兩個(gè)變量通過二維坐標(biāo)表示,第三個(gè)變量通過氣泡的大小表示餅圖用于顯示整體中各部分的比例關(guān)系,如市場份額、銷售構(gòu)成等儀表盤用于顯示某一指標(biāo)的實(shí)際值與目標(biāo)值之間的對比,常用于監(jiān)控和評估績效,如KPI儀表盤雷達(dá)圖用于顯示多個(gè)變量之間的對比關(guān)系,常用于評估多維度的性能或能力,如產(chǎn)品特性對比詞云圖用于顯示文本數(shù)據(jù)中關(guān)鍵詞的頻率和重要性,常用于文本分析、情感分析或主題識別4.繪制表格,對比折線圖、柱狀圖、散點(diǎn)圖、氣泡圖、餅圖、儀表盤、雷達(dá)圖、詞云圖數(shù)據(jù)源的存儲格式。圖表類型數(shù)據(jù)源的存儲格式折線圖折現(xiàn)圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為一維數(shù)組柱狀圖柱狀圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為一維數(shù)組散點(diǎn)圖散點(diǎn)圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為二維數(shù)組,一般為m行2列的數(shù)組,數(shù)組第一列數(shù)據(jù)對應(yīng)x軸的數(shù)據(jù),第二列數(shù)據(jù)對應(yīng)y軸的數(shù)據(jù)氣泡圖氣泡圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為二維數(shù)組,一般為m行3列的數(shù)組,數(shù)組第一列數(shù)據(jù)對應(yīng)x軸的數(shù)據(jù),第二列數(shù)據(jù)對應(yīng)y軸的數(shù)據(jù),第三列數(shù)據(jù)對應(yīng)氣泡的大小餅圖餅圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為嵌套字典(鍵值對Object)的數(shù)組,即數(shù)組每個(gè)元素為字典數(shù)據(jù),每項(xiàng)字典代表餅圖中的一項(xiàng)數(shù)據(jù),字典格式類似:{value:1048,name:'搜索引擎'}儀表盤儀表盤數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為嵌套字典(鍵值對Object)的數(shù)組,即數(shù)組每個(gè)元素為字典數(shù)據(jù),每項(xiàng)字典代表儀表盤的數(shù)據(jù)值和數(shù)據(jù)名稱,字典格式類似:{value:50,name:'評分'}雷達(dá)圖雷達(dá)圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為嵌套字典(鍵值對Object)的數(shù)組,即數(shù)組每個(gè)元素為字典數(shù)據(jù),每項(xiàng)字典代表雷達(dá)圖的一個(gè)單位各個(gè)指標(biāo)特征的值,字典格式類似:{value:[4500,6000,25000,35000,50000,20000],name:'預(yù)算分配'}詞云圖詞云圖數(shù)據(jù)會放在對應(yīng)series里的data中,數(shù)據(jù)格式為嵌套字典(鍵值對Object)的數(shù)組,即數(shù)組每個(gè)元素為字典數(shù)據(jù),每項(xiàng)字典代表詞云圖的一項(xiàng)詞語及詞頻,字典格式類似:{name:'很好',value:30}5.什么是動態(tài)圖?有哪些常見動態(tài)圖?在Echarts中,動態(tài)圖指的是那些能夠?qū)崟r(shí)更新或隨用戶交互而變化的圖表。這種動態(tài)性使得圖表能夠更直觀地展示數(shù)據(jù)的實(shí)時(shí)變化,提高數(shù)據(jù)的可讀性和理解性。常見的Echarts動態(tài)圖類型包括:(1)動態(tài)折線圖:折線圖是最常見的動態(tài)圖表之一,用于展示數(shù)據(jù)隨時(shí)間或其他連續(xù)變量的變化趨勢。在Echarts中,可以通過不斷更新數(shù)據(jù)或設(shè)置動畫效果來實(shí)現(xiàn)動態(tài)折線圖。(2)動態(tài)柱狀圖:柱狀圖用于比較不同類別之間的數(shù)據(jù)大小。動態(tài)柱狀圖可以實(shí)時(shí)更新柱子的高度或顏色,以反映數(shù)據(jù)的最新狀態(tài)。(3)動態(tài)餅圖:餅圖用于展示數(shù)據(jù)的比例分布。動態(tài)餅圖可以實(shí)時(shí)更新各個(gè)扇區(qū)的大小或標(biāo)簽,以反映數(shù)據(jù)比例的變化。(4)動態(tài)散點(diǎn)圖:散點(diǎn)圖用于展示兩個(gè)變量之間的關(guān)系。動態(tài)散點(diǎn)圖可以實(shí)時(shí)添加或刪除數(shù)據(jù)點(diǎn),以反映數(shù)據(jù)分布的變化。6.什么是動態(tài)排序柱狀圖?需要設(shè)置哪些參數(shù)來實(shí)現(xiàn)動態(tài)效果?動態(tài)排序柱狀圖是一種展示隨時(shí)間變化的數(shù)據(jù)排名變化的圖表,從ECharts5開始內(nèi)置支持。這種圖表類型在數(shù)據(jù)發(fā)生變化時(shí),能夠自動調(diào)整柱子的高度和順序,以反映最新的數(shù)據(jù)狀態(tài)。動態(tài)排序柱狀圖通常是橫向的柱條,也可以使用縱向的柱條,調(diào)換X軸和Y軸的設(shè)置即可。動態(tài)排序柱狀圖通常會使用一些與動態(tài)數(shù)據(jù)相關(guān)的參數(shù),常見參數(shù)如下:(1)realtimeSort:通常設(shè)為true,表示開啟該系列的動態(tài)排序效果(2)yAxis.inverse:一般設(shè)為true,表示Y軸從下往上是從小到大的排列(3)yAxis.animationDuration:建議設(shè)為300,表示第一次柱條排序動畫的時(shí)長(4)yAxis.animationDurationUpdate:建議設(shè)為300,表示第一次后柱條排序動畫的時(shí)長(5)yAxis.max:如果想只顯示前n名,將yAxis.max設(shè)為n-1,否則顯示所有柱條(6)xAxis.max:建議設(shè)為'dataMax'表示用數(shù)據(jù)的最大值作為X軸最大值,視覺效果更好(7)series.label.valueAnimation:如果想要實(shí)時(shí)改變標(biāo)簽,需要將series.label.valueAnimation設(shè)為true(8)animationDuration:動畫持續(xù)時(shí)間,如果設(shè)為0,表示第一份數(shù)據(jù)不需要從0開始動畫(如果希望從0開始則設(shè)為和animationDurationUpdate相同的值)(9)animationDurationUpdate:建議設(shè)為3000,表示每次更新動畫時(shí)長,這一數(shù)值應(yīng)與調(diào)用setOption改變數(shù)據(jù)的頻率相同,即以animationDurationUpdate的頻率調(diào)用setInterval,更新數(shù)據(jù)值項(xiàng)目3電器產(chǎn)品銷售數(shù)據(jù)Echarts進(jìn)階可視化鞏固強(qiáng)化1.什么是異步數(shù)據(jù)加載?如何加載?異步數(shù)據(jù)加載(AsynchronousDataLoading)是一種在不阻塞主線程的情況下,加載和處理數(shù)據(jù)的方法。這種方法允許瀏覽器在加載和處理數(shù)據(jù)的同時(shí),繼續(xù)執(zhí)行其他任務(wù),如渲染頁面或響應(yīng)用戶交互。異步加載文件可以使用jQuery的$.get()方法。例如:$.get('js/advertisement.json',function(data){})表示通過get()方法加載當(dāng)前目錄下js文件夾下的advertisement.json文件,加載成功后執(zhí)行function(data){}函數(shù),其中加載成功的數(shù)據(jù)放入data參數(shù)中,傳遞到函數(shù)中去。2.如何使用數(shù)據(jù)集管理?使用它,有何好處?使用數(shù)據(jù)集管理數(shù)據(jù)的方法,可以在option中設(shè)置dataset:{source:[…]}來集中管理數(shù)據(jù),其中source內(nèi)可以放置二維數(shù)組,也可以放置數(shù)組嵌套字典(鍵值對Object)形式的數(shù)據(jù)。通過dataset組件統(tǒng)一管理ECharts中的數(shù)據(jù),可以提高數(shù)據(jù)復(fù)用性,在不同的圖表和組件之間共享同一份數(shù)據(jù),還可以簡化配置,方便數(shù)據(jù)處理,增強(qiáng)數(shù)據(jù)一致性。3.什么是視覺通道?其應(yīng)用場合有哪些?視覺通道指的是將數(shù)據(jù)映射到視覺元素的過程,以便通過視覺方式展示數(shù)據(jù)的特征和趨勢。這些視覺元素和屬性包括顏色、大小、形狀、位置等。通過調(diào)整這些視覺元素,可以有效地傳達(dá)數(shù)據(jù)的含義和關(guān)系,幫助用戶更好地理解和分析數(shù)據(jù)。視覺通道在Echarts中的應(yīng)用場合:(1)數(shù)據(jù)分類與區(qū)分:在Echarts中,可以使用不同的顏色、形狀或圖案來區(qū)分不同的數(shù)據(jù)類別。例如,在柱狀圖中,可以使用不同的顏色來表示不同的數(shù)據(jù)系列;在散點(diǎn)圖中,可以使用不同的形狀或顏色來表示不同的數(shù)據(jù)點(diǎn)類別。(2)數(shù)據(jù)大小與比例:視覺通道可以用于表示數(shù)據(jù)的大小和比例關(guān)系。例如,在餅圖中,扇區(qū)的大小可以表示各部分?jǐn)?shù)據(jù)的比例;在氣泡圖中,氣泡的大小可以表示數(shù)據(jù)的大小。(3)數(shù)據(jù)趨勢與變化:通過調(diào)整視覺元素的位置或方向,可以展示數(shù)據(jù)的趨勢和變化。例如,在折線圖中,線條的起伏可以表示數(shù)據(jù)隨時(shí)間的變化趨勢;在熱力圖中,顏色的深淺可以表示數(shù)據(jù)的分布和密度。(4)數(shù)據(jù)層次與結(jié)構(gòu):對于具有層次結(jié)構(gòu)或關(guān)聯(lián)關(guān)系的數(shù)據(jù),Echarts可以通過嵌套圖、樹狀圖等方式進(jìn)行展示。在這些圖表中,視覺通道可以幫助用戶清晰地識別數(shù)據(jù)的層次和關(guān)聯(lián)關(guān)系。4.定位和布局技術(shù)有哪些?如何自適應(yīng)布局?Echarts大部分組件的定位和布局會使用方向、寬高、中心坐標(biāo)、半徑大小、橫向和縱向等參數(shù)來實(shí)現(xiàn),大致可以將它們分成三種類型的定位和布局方式。(1)left/right/top/bottom/width/height定位方式(2)center/radius定位方式(3)horizontal/vertical布局方式在一些場景中,希望容器大小改變時(shí),圖表大小也相應(yīng)地改變,這就需要使用自適應(yīng)布局。一種方法使用resize()函數(shù),將div大小設(shè)置為百分比,要監(jiān)聽頁面的resize事件,獲取瀏覽器大小改變的事件,然后調(diào)用echartsInstance.resize改變圖表的大小。另一種方法使用MediaQuery方法,自適應(yīng)移動端尺寸大小,自動改變圖形布局。5.什么是Dashboard?繪制Dashboard的關(guān)鍵技術(shù)有哪些?Dashboard是商業(yè)智能儀表盤(businessintelligencedashboard,BIdashboard)的簡稱,是一個(gè)用于實(shí)現(xiàn)數(shù)據(jù)可視化的模塊,能夠向企業(yè)展示各種度量信息和關(guān)鍵指標(biāo)的數(shù)據(jù)虛擬化工具。Dashboard可以在一個(gè)屏幕上通過定位、布局技術(shù),將文字、圖片、圖形、表格、音頻、視頻、超鏈接等集合在一起,設(shè)置不同顏色和形狀,形成錯落有致的數(shù)字大屏效果。繪制Dashboard的關(guān)鍵技術(shù):(1)布局與組件管理:Dashboard通常包含多個(gè)圖表和控件,因此需要合理的布局和組件管理策略。這涉及到確定各個(gè)組件的大小、位置以及交互方式,以確保整體界面的清晰和易用。其中,ECharts的定位和布局技術(shù)包括:left/right/top/bottom/width/height定位;center/radius定位;horizontal/vertical定位;x/y定位;grid索引定位。(2)數(shù)據(jù)整合與處理:Dashboard需要整合來自不同數(shù)據(jù)源的數(shù)據(jù),并進(jìn)行必要的處理,如清洗、轉(zhuǎn)換和聚合。這要求開發(fā)者具備數(shù)據(jù)處理和整合的能力,以確保數(shù)據(jù)的準(zhǔn)確性和一致性。(3)圖表選擇與配置:根據(jù)數(shù)據(jù)的特性和展示需求,選擇合適的圖表類型(如折線圖、柱狀圖、餅圖等)并進(jìn)行配置。這包括設(shè)置圖表的樣式、數(shù)據(jù)系列、坐標(biāo)軸等,以使其能夠直觀地展示數(shù)據(jù)。6.聯(lián)動圖有哪些效果?繪制聯(lián)動圖會用到哪些方法?多個(gè)圖表之間有關(guān)聯(lián),當(dāng)在一個(gè)圖表中移動時(shí),另外的圖表也會發(fā)生變化,這就是聯(lián)動圖。常見的聯(lián)動圖效果有折線圖聯(lián)動餅圖、柱狀圖/折線圖同步聯(lián)動、餅圖聯(lián)動柱狀圖,以及表格聯(lián)動餅圖等。繪制聯(lián)動圖一般會使用鼠標(biāo)事件來實(shí)現(xiàn)。例如折線圖聯(lián)動餅圖,當(dāng)鼠標(biāo)在折線圖坐標(biāo)軸上方不同類目間移動時(shí),餅圖也隨之改變,其利用了myChart.on('updateAxisPointer',function(event){}來實(shí)現(xiàn)聯(lián)動,實(shí)質(zhì)是通過鼠標(biāo)事件,不斷獲取xAxis信息,然后再根據(jù)獲取到xAxis信息的值更新餅圖,達(dá)到聯(lián)動效果。項(xiàng)目4高校招生就業(yè)數(shù)據(jù)分析與可視化鞏固強(qiáng)化1.什么是Flask路由?什么是Flask模板渲染?Flask如何傳遞數(shù)據(jù)到Web頁面?Flask路由就是對一個(gè)函數(shù)的映射,通過不同路徑實(shí)現(xiàn)不同網(wǎng)頁的訪問。Flask模板渲染的過程就是將數(shù)據(jù)和模板結(jié)合,生成最終的HTML頁面。這使得開發(fā)者可以編寫通用的模板,然后在不同的地方使用不同的數(shù)據(jù)來渲染,提高了代碼的可復(fù)用性。Flask框架會根據(jù)http請求的URL在路由表當(dāng)中,匹配預(yù)定義的URL規(guī)則,找到對應(yīng)的函數(shù),并將函數(shù)的執(zhí)行結(jié)果返回Web服務(wù)器網(wǎng)關(guān)接口,傳遞數(shù)據(jù)到Web頁面。2.什么是Flask表模型?如何創(chuàng)建表模型類,將其映射到MySQL數(shù)據(jù)庫中的表?Flask表模型用于管理數(shù)據(jù)庫,在Flask框架中,使用ORM(對象關(guān)系映射)技術(shù)定義的模型類,這些類代表數(shù)據(jù)庫中的表。ORM允許開發(fā)者使用Python類來操作數(shù)據(jù)庫,而無需編寫SQL語句。通過ORM,開發(fā)者可以更加直觀地理解和操作數(shù)據(jù)庫,提高開發(fā)效率。在Flask中,常用的ORM庫有SQLAlchemy,使用SQLAlchemy創(chuàng)建表模型類,并將其映射到MySQL數(shù)據(jù)庫中的表的步驟如下:(1)安裝必要的庫,包括mysqlclient、flask_sqlalchemy、flask-mysqldb、pymysql(2)初始化Flask和Flask-SQLAlchemy,如:app=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql+mysqlconnector://username:password@localhost/dbname'app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False(3)定義表模型類,關(guān)聯(lián)數(shù)據(jù)庫中的表,如:db=SQLAlchemy(app)classUser(db.Model):__tablename__='users'id=db.Column(db.Integer,primary_key=True)name=db.Column(db.String(64),unique=True,index=True)(4)創(chuàng)建表db.create_all()3.什么是Jinja2?如何使用?Jinja2是一個(gè)Python模板引擎,它為Python開發(fā)者提供了一種將數(shù)據(jù)和模板結(jié)合在一起以生成動態(tài)文本的方法。Jinja2非常靈活,提供了控制結(jié)構(gòu)、表達(dá)式和繼承等功能,使開發(fā)者能夠根據(jù)需要定制模板。Jinja2具有可擴(kuò)展的結(jié)構(gòu),允許開發(fā)者定義自己的工具集,并在模板之間創(chuàng)建關(guān)系。此外,Jinja2還支持完全可定制的模板來格式化輸出,允許開發(fā)人員使用動態(tài)HTML、XML和JSON模板。在模板中,你可以使用Jinja2的語法來顯示變量、執(zhí)行控制結(jié)構(gòu)(如if語句和for循環(huán))以及調(diào)用函數(shù)等。例如,你可以使用{{}}語法來顯示一個(gè)變量的值,或者使用{%%}語法來執(zhí)行控制結(jié)構(gòu)。4.什么是Ajax?如何使用jQueryAjax異步獲取數(shù)據(jù)?Ajax是一種在無需重新加載整個(gè)網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù),可用于創(chuàng)建快速動態(tài)網(wǎng)頁,通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,Ajax可以使網(wǎng)頁實(shí)現(xiàn)異步更新,這也意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,實(shí)現(xiàn)對網(wǎng)頁的某部分進(jìn)行更新。通過jQueryAjax方法,能夠使用HTTPGet和HTTPPost從服務(wù)器上請求文本、HTML、XML或JSON數(shù)據(jù),同時(shí)能夠把這些外部數(shù)據(jù)直接載入網(wǎng)頁的被選元素中。使用jQueryAjax異步獲取數(shù)據(jù)的方法:首先后端設(shè)置路由,發(fā)送數(shù)據(jù)方式設(shè)為“GET”或“POST”,執(zhí)行函數(shù),返回序列化成JSON的數(shù)據(jù):@app.route("/data",
methods=['POST'])def
data():
return
jsonify(data)接著在網(wǎng)頁端利用JQueryAjax請求數(shù)據(jù):<script
type="text/javascript">$(document).ready(function(){
$.ajax({
type:"post",
async:true,
url:"/data",
dataType:"json",
success:function(result){
alert("請求數(shù)據(jù)成功!");
},
error:function(errorMsg){
alert("請求數(shù)據(jù)失敗!");
}
});});</script>5.如何使用ECharts創(chuàng)建地圖?使用Echarts創(chuàng)建地圖有兩種方法:一種是在series參數(shù)中,通過type指定'map'類型,通過mapType指定地區(qū)或國家名稱,如下所示:series:
[{
name:
'總數(shù)',
type:
'map',
mapType:
'china',
roam:
true,//
設(shè)置允許縮放以及拖動的效果
label:
{
show:
true,//展示標(biāo)簽
color:
'#F9F9F9'//設(shè)置標(biāo)簽文本顏色
}}]另一種是在option中設(shè)置geo參數(shù),geo的type同樣指定'map'類型,map指定地區(qū)或國家名稱,如下所示:$.get('../static/map/china.json',(chinaJson)=>{
ECharts.registerMap('china',chinaJson)
let
option
=
{
geo:
{
type:
'map',
map:
'china',
//china需要和registerMap中的第一個(gè)參數(shù)一致
roam:
true,
//
設(shè)置允許縮放以及拖動的效果
label:
{
show:
true
//展示標(biāo)簽
},
zoom:
1.2,
//設(shè)置初始化的縮放比例
center:
[87.617733,43.792818]
//設(shè)置地圖中心點(diǎn)的坐標(biāo)
}
}
mCharts.setOption(option)})項(xiàng)目5招聘數(shù)據(jù)分析與可視化鞏固強(qiáng)化1.SQLAlchemy有哪兩種查詢方式?如何進(jìn)行多表聯(lián)合查詢?在使用查詢語句時(shí),有兩種方法,一種是使用表模型類名進(jìn)行查詢,一種是使用db.session進(jìn)行查詢。下面舉例說明:(1)使用表模型類名查詢。User為表模型類名:#獲取第一行數(shù)據(jù)result=User.query.first()(2)使用db.session查詢#獲取User表第一行數(shù)據(jù)result=db.session.query(User).first()多表聯(lián)合查詢需要用到j(luò)oin。在SQLAlchemy中,使用join來完成內(nèi)連接,另有左外連接(leftjoin),右外連接(rightjoin)。使用join連接時(shí),如果不寫join條件,那么默認(rèn)將使用外鍵來作為條件連接。示例:需要連接students和course兩個(gè)表,查找出所有學(xué)生的選課情況,按照選課的數(shù)量進(jìn)行降序排序。db.session.query(students,func.count(course.cid)).join(course).group_by(students.id).order_by(func.count(course.cid).desc()).all()2.SQLAlchemy有哪些常用的高級查詢操作?(1)排序:使用order_by方法(2)限制記錄條數(shù):限制記錄可以使用limit、offset和切片這些方法(3)分組:使用group_by方法(4)having條件過濾:having作用跟where類似,只不過having是用在group_by分組后面使用的條件判斷(5)join連接多表查詢:包括內(nèi)連接、左外連接、右外連接等3.Flask路由時(shí),請求數(shù)據(jù)的方式有GET和POST兩種方式,這兩種方式有什么區(qū)別?HTTP請求數(shù)據(jù)有兩種方式:GET和POST方式。GET請求從URL地址中獲取參數(shù),參數(shù)通過URL地址傳遞。GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里。如果要傳遞大量的參數(shù),或者參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025大理石合同范本
- 2025住宅區(qū)委托管理合同
- 美國土地合同范例
- 淘寶轉(zhuǎn)讓合同范例
- 線下帶貨合同范例
- 外單合同范例
- 外商投資合同范例
- 管理股分合同范例
- 報(bào)考駕校合同范例
- 動物糞便回收合同范例
- 創(chuàng)業(yè)投資管理智慧樹知到期末考試答案章節(jié)答案2024年武漢科技大學(xué)
- GA/T 2133.2-2024便攜式微型計(jì)算機(jī)移動警務(wù)終端第2部分:安全監(jiān)控組件技術(shù)規(guī)范
- 概率論與數(shù)理統(tǒng)計(jì)智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- 小學(xué)勞動教育實(shí)施三年規(guī)劃(2024-2026)
- 網(wǎng)課智慧樹知道《英漢口譯(四川大學(xué))》章節(jié)測試答案
- 生產(chǎn)建設(shè)項(xiàng)目水土保持設(shè)施驗(yàn)收技術(shù)規(guī)程-編制說明
- 人工智能設(shè)計(jì)倫理智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 2024春期國開電大本科《經(jīng)濟(jì)學(xué)(本)》在線形考(形考任務(wù)1至6)試題及答案
- 四川省公需科目(數(shù)字經(jīng)濟(jì)與驅(qū)動發(fā)展)考試題庫及答案
- 2024年中國eVTOL產(chǎn)業(yè)(低空經(jīng)濟(jì))發(fā)展報(bào)告
- 智慧醫(yī)療信息化建設(shè)項(xiàng)目技術(shù)標(biāo)準(zhǔn)建設(shè)方案
評論
0/150
提交評論