整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Python可視化神器-pyecharts(實(shí)例之人口地圖)

          方教程:http://pyecharts.herokuapp.com/

          pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。Echarts 是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)。用 Echarts 生成的圖可視化效果非常棒,為了與 Python 進(jìn)行對(duì)接,方便在 Python 中直接使用數(shù)據(jù)生成圖。

          繪圖步驟:

          from pyecharts import Chart,configure             #導(dǎo)入所需繪圖函數(shù)
          configure(output_image=True)                      #可以將圖表保存為svg/jpeg/png/pdf/gif    
          chart = Chart('主標(biāo)題','副標(biāo)題')                  #Chart是我們繪圖函數(shù)
          attr = ['x1','x2','x3','x4']                      #attr是屬性,也就是常見(jiàn)的X軸標(biāo)簽
          v = [y1,y2,y3,y4]                                 #v是各個(gè)屬性對(duì)應(yīng)的值,也就是常見(jiàn)的Y值
          chart.use_theme()                                 #設(shè)置圖表主題                
          chart.add('圖標(biāo)',attr,v1)                         #add畫圖圖層,添加我們所需的參數(shù)
          chart.render(path = '***.jpeg')                   #圖表輸出,path是輸出路徑

          render會(huì)默認(rèn)將圖表輸出為html格式,可在瀏覽器打開(kāi)。但是想要插入到ppt當(dāng)中,清晰度會(huì)下降,因此需要將其轉(zhuǎn)化為其他格式,如svg/jpeg/png/pdf/gif 等等。要實(shí)現(xiàn)格式的轉(zhuǎn)換,需要安裝:

          • Nodejs
          • $ npm install -g phantomjs-prebuilt
          • $ pip install pyecharts-snapshot

          常用的參數(shù)(可以在add()中設(shè)置,實(shí)現(xiàn)各種需求):

          • is stack:是否堆積
          • is convert:x,y軸是否交換
          • is_legend_show:是否顯示圖例
          • legend_orient:圖列方向,有'horizontal'(默認(rèn)水平顯示),'vertical'(垂直)可選
          • legend_pos:圖例位置,有'left', 'center'(默認(rèn)), 'right'可選
          • legend_text_size/color:圖例名稱字體大小/顏色
          • is_x/yaxis_show:是否顯示x/y軸
          • x/yaxis_interval:x/y軸標(biāo)簽的顯示間隔
          • x/yaxis_min/max:x/y軸刻度最小值/最大值
          • x/yaxis_label_textsize/textcolor:x/y軸標(biāo)簽字體大小/顏色
          • xaxis_rotate:x軸標(biāo)簽旋轉(zhuǎn)角度
          • is_splitline_show:是否顯示網(wǎng)格線
          • is_label_show:是否顯示標(biāo)簽
          • label_pos:標(biāo)簽的位置,有'top'(默認(rèn)), 'left', 'right', 'bottom', 'inside','outside'可選
          • label_text_color/size:標(biāo)簽字體顏色/大小
          • is_random:是否隨機(jī)排列顏色列表
          • label_color:自定義標(biāo)簽顏色
          • mark_point/line:標(biāo)記點(diǎn)/線,默認(rèn)有'min', 'max', 'average'可選。可自定義標(biāo)記點(diǎn)線,具體格式如:[{'coord': [x, y], 'name': '目標(biāo)標(biāo)記點(diǎn)'}],記住格式是一個(gè)列表
          • mark_point/line_symbol:標(biāo)記點(diǎn)/線圖形,默認(rèn)為'pin'(點(diǎn)),有'circle'(圓形), 'rect'(正方形), 'roundRect'(圓角正方形), 'triangle'(三角形), 'diamond'(菱形), 'pin'(點(diǎn)), 'arrow'(箭頭)可選
          • mark_point/line_symbolsize:標(biāo)記點(diǎn)/線圖形大小
          • mark_point/line_textcolor:標(biāo)記點(diǎn)/線字體顏色


          代碼

          站地圖作為根據(jù)網(wǎng)站的結(jié)構(gòu),框架,內(nèi)容生成的導(dǎo)航網(wǎng)頁(yè)文件。

          大多數(shù)人都知道網(wǎng)站地圖對(duì)于提高用戶體驗(yàn)有好處:它們?yōu)榫W(wǎng)站訪問(wèn)者指明方向,并幫助迷失的訪問(wèn)者找到他們想看的頁(yè)面。

          那么什么是網(wǎng)站地圖呢?

          在開(kāi)始介紹網(wǎng)站地圖的制作與提交之前,我們有必要先了解一下什么是網(wǎng)站地圖。

          網(wǎng)站地圖也就是sitemap,是一個(gè)網(wǎng)站所有鏈接的容器。很多網(wǎng)站的鏈接層次比較深,蜘蛛是很難抓取到的,網(wǎng)站地圖可以方便搜索引擎蜘蛛抓取網(wǎng)站頁(yè)面,通過(guò)抓取網(wǎng)站頁(yè)面,可以清晰的了解網(wǎng)站的架構(gòu)。網(wǎng)站地圖一般存放在根目錄下并命名為sitemap,為搜索引擎蜘蛛引路,增加網(wǎng)站重要內(nèi)容頁(yè)面的收錄。

          網(wǎng)站地圖的作用:

          1.為搜索引擎蜘蛛提供可以瀏覽整個(gè)網(wǎng)站的鏈接,簡(jiǎn)單的體現(xiàn)出網(wǎng)站的整體框架。

          2.為搜索引擎蜘蛛提供一些鏈接,指向動(dòng)態(tài)頁(yè)面或者采用其他方法比較難以到達(dá)的頁(yè)面。

          3.作為一種潛在的著陸頁(yè),可以對(duì)搜索流量進(jìn)行優(yōu)化。

          4.如果訪問(wèn)者試圖訪問(wèn)網(wǎng)站所在域內(nèi)并不存在的URL,那么這個(gè)訪問(wèn)者就會(huì)被轉(zhuǎn)到“無(wú)法找到文件”的錯(cuò)誤頁(yè)面,而網(wǎng)站地圖可以作為該頁(yè)面的“準(zhǔn)”內(nèi)容。

          HTML版本的網(wǎng)站地圖

          html版本的網(wǎng)站地圖就是用戶可以在網(wǎng)站上看到的,列出網(wǎng)站上所有主要頁(yè)面的鏈接的頁(yè)面。對(duì)于小型網(wǎng)站來(lái)說(shuō),甚至可以列出整個(gè)網(wǎng)站的所有的頁(yè)面。而對(duì)于具有一定規(guī)模的網(wǎng)站來(lái)說(shuō),一個(gè)網(wǎng)站地圖不可能羅列所有的頁(yè)面鏈接,可以采用兩種方法解決:

          第一種就是網(wǎng)站地圖只列出網(wǎng)站最主要的鏈接,如一級(jí)分類,二級(jí)分類。

          第二種方法是將網(wǎng)站地圖分成幾個(gè)文件,主網(wǎng)站地圖列出通往那次級(jí)網(wǎng)站的鏈接,刺激網(wǎng)站地圖在列出一部分頁(yè)面鏈接。

          XML本的網(wǎng)站地圖

          XML版本的網(wǎng)站地圖是由goole首先提出的,怎么區(qū)分呢?上面所說(shuō)的HTML版本中的sitemap首字母s是小字寫的,XML版本中的S則是大寫的。XML版本的網(wǎng)站地圖是由XML標(biāo)簽組成的,文件本身必須UTF-8編碼,網(wǎng)站地圖文件實(shí)際上就是列出網(wǎng)站需要被收錄的頁(yè)面的URL。最簡(jiǎn)單的網(wǎng)站地圖可以是一個(gè)純文本文件,文件只要列出頁(yè)面的URL,一行一個(gè)URL,搜索引擎就能抓取并理解文件內(nèi)容。

          網(wǎng)站地圖的制作方法

          網(wǎng)上有很多網(wǎng)站地圖的生成方法,比如說(shuō)在線生成,軟件生成等。這里小編推薦使用小爬蟲網(wǎng)站地圖生成工具:http://www.sitemap-xml.org。使用方法如下:

          1)輸入域名,選擇網(wǎng)站對(duì)應(yīng)的編碼,點(diǎn)擊“生成”按鈕(建議使用搜狗瀏覽器或者google瀏覽器)如圖所示:

          2)等待小爬蟲爬行網(wǎng)站,爬行時(shí)間根據(jù)網(wǎng)站內(nèi)容多少和服務(wù)器訪問(wèn)速度不定,如果數(shù)據(jù)較多,則建議晚上10點(diǎn)以后操作,

          3)下載sitemap.xml或者sitemap.html文件,上傳到網(wǎng)站根目錄,在首頁(yè)做鏈接,如圖所示:

          需要說(shuō)明一下sitemap.xml和sitemap.html文件的區(qū)別:

          sitemap.xml文件的創(chuàng)建是為了更有利于搜索引擎的抓取,從而提高工作效率,生成sitemap.xml文件后將其鏈接放入robort.txt文件內(nèi)。提示:

          良好的robort.txt協(xié)議可以指引搜索引擎抓取方向,節(jié)省蜘蛛抓取時(shí)間,所以無(wú)形中提升了蜘蛛的工作效率,也就增大了頁(yè)面被抓取的可能性。

          將sitemap.xml和robort.txt文件放在網(wǎng)站的根目錄下。

          sitemap.html格式的網(wǎng)站地圖主要是用來(lái)方便用戶的瀏覽,并不能起到XMLSitemap所起的作用。所以最好兩者都要有。

          4)登錄百度站長(zhǎng)平臺(tái),點(diǎn)擊“鏈接提交”,填寫sitemap.xml對(duì)應(yīng)的URL地址,如圖所示:

          提交完后,百度搜索引擎蜘蛛會(huì)對(duì)我們的網(wǎng)站進(jìn)行抓取。大量案例證明,添加網(wǎng)站能加速網(wǎng)站內(nèi)容收錄速度,提升網(wǎng)站收錄率。但是這要建立在網(wǎng)站內(nèi)容質(zhì)量符合搜索引擎標(biāo)準(zhǔn)的基礎(chǔ)上,如果網(wǎng)站內(nèi)容質(zhì)量太差,則使用網(wǎng)站地圖也是無(wú)濟(jì)于事的。以上就是制作提交網(wǎng)站地圖的一些分享,也是基礎(chǔ)中的基礎(chǔ),希望對(duì)新手有用。

          文章選自《SEO全網(wǎng)優(yōu)化指南》

          來(lái)源:盧松松博客,歡迎分享

          話不多說(shuō),看圖!

          本篇文章介紹 Vue3 + vite +TS 項(xiàng)目?jī)?nèi)使用 Echarts 5 繪制中國(guó)地圖,標(biāo)記分布點(diǎn)!之前沒(méi)有接觸過(guò) Echarts 的,可以先去官方示例看看,里面圖形特別齊全。但是官方文檔看著費(fèi)勁的,太多了根本記不住,所以自己做個(gè)總結(jié),下次就可以直接使用了,不用做重復(fù)無(wú)用功。

          一、安裝

          Echarts 已更新到了 5.0 版本,安裝完記得檢查下自己的版本是否是 5.0 。

          npm install echarts --save

          安裝完成之后,在 package.json 中檢查是否安裝成功?

          二、下載地圖的 json 數(shù)據(jù)

          可以下載中國(guó)以及各個(gè)省份地圖數(shù)據(jù)。免費(fèi)的文件下載地址:

          http://datav.aliyun.com/portal/school/atlas/area_selector#&lat=30.332329214580188&lng=106.72278672066881&zoom=3.5

          記得收藏哦!免得浪費(fèi)加班時(shí)間。

          三、引入

          引入 echarts 可以全局引入:

          import * as echarts from "echarts"
          
          /* 之前vue2 */
          Vue.prototype.$ecahrt = echarts
          
          /* vue3 */
          app.config.globalProperties.$echarts = echarts

          也可以直接在繪制頁(yè)面內(nèi)按需引用。

          引入需要繪制的地圖數(shù)據(jù) json 或 js 文件,本文使用的是 json 格式:

          import chinaJSON from '../../assets/json/china.json'

          注意:引入的時(shí)候先引入 echarts ,后引入 chinaJSON 文件,順序不能反哦!

          四、開(kāi)始繪制地圖

          template 部分代碼:

          <template>
           <div>
            <div
             ref="chinaMap"
             style="height: 700px;border: solid 1px red;width: 100%;background: #010111;"
              >
             地圖1
            </div>
           </div>
          </template>

          script 部分代碼:

          <script lang="ts" setup>
          import * as echarts from 'echarts'
          import chinaJSON from '../../assets/json/china.json'
          import { onMounted, ref } from 'vue'
          const chinaMap = ref()
          onMounted(() => {
           drawChina()
          })
          let regions = [
           {
            name: '新疆維吾爾自治區(qū)',
            itemStyle: {
             areaColor: '#374ba4',
             opacity: 1,
            },
           },
           {
            name: '四川省',
            itemStyle: {
             areaColor: '#fe9b45',
             opacity: 1,
            },
           },
           {
            name: '陜西省',
            itemStyle: {
             areaColor: '#fd691b',
             opacity: 1,
            },
           },
           {
            name: '黑龍江省',
            itemStyle: {
             areaColor: '#ffc556',
             opacity: 1,
            },
           },
          ]
          let scatter = [
           { name: '北京烤鴨', value: [116.46122, 39.97886, 9] },
           { name: '蘭州拉面', value: [103.86615, 36.040129, 9] },
           { name: '新疆烤肉', value: [87.613228, 43.810394, 9] },
           { name: '長(zhǎng)沙臭豆腐', value: [112.915204, 28.207735, 9] },
           { name: '西安肉夾饃', value: [108.953445, 34.288842, 9] },
           { name: '云南', value: [102.710002, 25.045806, 9] },
          ]
          function drawChina() {
           var myChart = echarts.init(chinaMap.value)
           echarts.registerMap('china', chinaJSON) //注冊(cè)可用的地圖
           var option = {
            geo: {
             map: 'china',
             roam: true, //是否允許縮放,拖拽
             zoom: 1, //初始化大小
             //縮放大小限制
             scaleLimit: {
              min: 1, //最小
               max: 2, //最大
              },
              //設(shè)置中心點(diǎn)
              center: [115.97, 29.71],
              //省份地圖添加背景
              regions: regions,
              itemStyle: {
               areaColor: '#0b122e',
               color: 'red',
               borderColor: '#232652',
               borderWidth: 2,
             },
             //高亮狀態(tài)
             emphasis: {
               itemStyle: {
               areaColor: '#1af9e5',
                color: '#fff',
               },
              },
            },
            //配置屬性
            series: {
             type: 'effectScatter',
             coordinateSystem: 'geo',
             data: scatter, 
             showEffectOn: 'render',
              rippleEffect: {
               //漣漪特效相關(guān)配置
               brushType: 'stroke', //波紋的繪制方式,可選 'stroke' 和 'fill'
             	},
              hoverAnimation: true, //是否開(kāi)啟鼠標(biāo) hover 的提示動(dòng)畫效果
              label: {
               //圖形上的文本標(biāo)簽,可用于說(shuō)明圖形的一些數(shù)據(jù)信息,比如值,名稱等,
               normal: {
                formatter: '{b}',
                position: 'right',
                show: true,
               },
              },
              itemStyle: {
              //圖形樣式,normal 是圖形在默認(rèn)狀態(tài)下的樣式;emphasis 是圖形在高亮狀態(tài)下的樣式,比如在鼠標(biāo)懸浮或者圖例聯(lián)動(dòng)高亮?xí)r
               normal: {
                color: '#ffffff', //散點(diǎn)的顏色
                shadowBlur: 10,
                shadowColor: 20,
                fontSize: '12px',
               },
              },
              zlevel: 1,
             },
           }
           myChart.setOption(option)
          }
          </script>


          想看更多的可以去官方文檔:

          https://echarts.apache.org/zh/option.html#geo.regions.emphasis.itemStyle


          主站蜘蛛池模板: 亚洲a∨无码一区二区| 久久综合九九亚洲一区| 无码精品一区二区三区| 3d动漫精品成人一区二区三| 午夜福利一区二区三区高清视频 | 成人精品一区二区激情| 国产精品亚洲综合一区在线观看| 日韩在线视频一区| 国产精品男男视频一区二区三区| 国模吧一区二区三区| 无码少妇一区二区浪潮免费| 日韩精品一区二区三区影院| 国产乱码一区二区三区爽爽爽| 国产精品香蕉一区二区三区| 午夜福利国产一区二区| 日韩精品无码一区二区三区免费 | 国产成人AV区一区二区三| 无码人妻一区二区三区免费视频| 免费日本一区二区| 国产精品一区二区资源| 亚洲av一综合av一区| 精品国产区一区二区三区在线观看 | 性色AV一区二区三区无码| 国产亚洲一区二区三区在线不卡| 久久久国产精品亚洲一区 | 国产在线精品一区二区夜色| 日韩一区二区视频在线观看| 一区二区国产精品| 亚洲天堂一区二区三区| 国产精品亚洲高清一区二区| 亚洲精品精华液一区二区 | 欧美日本精品一区二区三区 | 精品人妻一区二区三区四区 | 骚片AV蜜桃精品一区| 午夜精品一区二区三区在线视 | 春暖花开亚洲性无区一区二区| 日本一区二区在线| 久久国产精品一区| 精品一区二区三区无码免费直播| 亚洲熟妇av一区| 日本精品一区二区三区在线观看|