精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何繪制好看的動態排序圖,今天手把手教學

開發 項目管理
學了 Java之后才知道自己是有多菜,,,以前并沒有刻意的去了解語言背后的基礎知識,例如進程、內存管理,比如程序啟動后沒報錯但長時間沒有反應、通過任務管理器發現資源一直在消耗著;是一直等著或者重新再啟動程序,還是去定位問題并解決、優化代碼,如果要定位問題從哪里下手?

[[403827]]

本文轉載自微信公眾號「小張Python」,作者zeroingi 。轉載本文請聯系小張Python公眾號。

 0. 前言

大家好啊,已經好久沒更原創文了,失蹤人口回歸 ~,近期要準備秋招了在學一些 Java 相關知識,更文什么的也就耽擱了

之前一直是在與 Python 打交道,但這不馬上要找工作了么,Python 雖然全能但目前不是企業所需的主流語言,跟C++、Java 相比還挺弱勢的,因此想借此好好學一下 Java,希望能趕上秋招的末班車

學了 Java之后才知道自己是有多菜,,,以前并沒有刻意的去了解語言背后的基礎知識,例如進程、內存管理,比如程序啟動后沒報錯但長時間沒有反應、通過任務管理器發現資源一直在消耗著;是一直等著或者重新再啟動程序,還是去定位問題并解決、優化代碼,如果要定位問題從哪里下手?

網絡TCP/IP 協議:猜測現在看這篇文章的很多小伙伴們是為了學爬蟲而學 Python,現在也有兩個問題問大家:1,Response Headers 中常見的Cookie 、Session指的是什么, 針對反爬機制帶 Cookie去訪問服務器的原理又是什么?2,當請求目標站點獲取數據時,返回的狀態碼中2xx,3xx,4xx分別代表什么?以上列舉的這兩個問題都與計算機網絡相關,了解它們之后做爬蟲的話才更能游刃有余,而類似于正則、bs4文本解析只是工具而已,學習的話上手很快

垃圾回收、緩存一致性等相關知識:有時候為了縮短任務執行周期,會用到線程,使用時 Python 中的 GIL(全局解釋器鎖)能夠保證程序運行時的數據一致性問題,但里面的原理機制是什么?

后來接觸了這些知識才發現,操作系統、語言特性、計算機網絡、數據結構與算法這些基礎知識才是計算機入門的開始(語言只能說是一種工具),只有掌握了基礎知識,以后的學習之路才會更扎實、更順利;也就應證了一句老話 基礎不牢、地動山搖

平常的我只知道為了一些功能學習一下相關庫函數,把腳本實現出來即可俗稱 調包俠 吧。也希望大家在以后的學習路上引以為戒,重視基礎知識。

1. anichart 介紹

啰嗦了這么多,正式開始本期技術案例分享,關于動態排序圖制作之前分享過一篇文章,用的是 matplolib 的 animation 函數,感興趣的可以看下用python制作超燃動態排序圖!

基本功能是實現了,但最終效果并不那么友好,這種方法制圖的基本原理就是先把數據借助 Matplotlib 可視化為每一幀圖片,再將每一幀拼接為視頻,缺點很明顯:步驟繁瑣、代碼量多,可視化效果差

今天分享另外一種方法,制作此類狀態圖,用到的是一個 Github 項目 anichart,眾所周知目前如果想做一些絲滑流暢的可視化交互效果,javascripts 是必不可缺少的,而這個項目主要是用 typescript 實現,項目是由一個 B 站 Up主【Jannchie見齊】維護

typescript 語言是基于 js 開發的一門編程語言,為了彌補后者可維護性差、類型混亂等缺點;anichart 的主要功能是來制作動態排序圖,可視化效果要好得多,下面是我根據針對項目中提供的測試數據最終繪制的排序圖,

2. 環境介紹

先交代下本次用到的項目環境,anichart 整體算是一個前端項目,因此本次用到的工具都是一些與前端相關的,本期教程只是介紹給大家這個項目怎么用,關于具體細節不需要去考慮,所以無需擔心自己是否具備前端知識;

需要用到的軟件如下:

  • node.js;
  • ffmpeg;

測試系統為 Win10;

Node.js 在這里主要有兩個作用:1,管理下載項目所需要的一些依賴項,2,啟動 js 腳本;

ffmpeg 主要是將序列圖片轉化為視頻

關于 node.js 與 ffmpeg 在 windows下載安裝方式比較簡單,這里不多做介紹啦,這里給大家推薦兩個鏈接可以參考下:

Node.js 安裝:https://www.jianshu.com/p/2958fc051bfb

ffmpeg 安裝:https://zhuanlan.zhihu.com/p/118362010

兩個軟件安裝好之后,不要忘記配置環境變量~

3. anichart 庫使用

3.1 anichart安裝

anichart 作者已經把上傳至 npm 官網中,打開命令行,借助 npm i anichart 命令即可安裝,不需要我們再從 Github 上克隆,

npm是什么東東?npm其實是Node.js的包管理工具(package manager),也就是說你配置好 Node.js 命令之后,npm 就可以正常使用了

3.2 新建一個 js文件

安裝完之后,接下來就能使用了,在anichart 安裝路徑下 新建一個 js 文件,文件名可任意命名,然后把下面代碼添加到剛剛建立的 js 文件

  1. const ani = require('anichart'
  2. const stage = new ani.Stage() 
  3. stage.options.fps = 24 
  4. stage.options.sec = 30 
  5. stage.output = false 
  6.  
  7. const bgAni = new ani.RectAni() 
  8. bgAni.component.shape = { 
  9.   width: stage.canvas.width, 
  10.   height: stage.canvas.height, 
  11. bgAni.component.fillStyle = '#1e1e1e' 
  12.  
  13. const textLinesAni = new ani.TextLinesAni() 
  14.  
  15. textLinesAni.component.fillStyle = '#eee' 
  16. textLinesAni.component.textAlign = 'center' 
  17. textLinesAni.component.textBaseline = 'middle' 
  18. textLinesAni.component.position = { 
  19.   x: stage.canvas.width / 2, 
  20.   y: stage.canvas.height / 2, 
  21.  
  22. const textAnichart = new ani.TextAni() 
  23. textAnichart.component.fontSize = 48 
  24. textAnichart.component.font = 'Sarasa Mono Slab SC' 
  25. textAnichart.component.text = 'Anichart' 
  26. textAnichart.component.fontWeight = 'bolder' 
  27. textAnichart.type = 'blur' 
  28.  
  29.  
  30. textLinesAni.children.push(textAnichart) 
  31.  
  32.  
  33. ani.recourse.loadImage('H:/Data/data/ANI.png''logo'
  34. ani.recourse.loadImage( 
  35.   'https://avatars3.githubusercontent.com/u/29743310?s=460&u=8e0d49b98c35738afadc04e70c7f3918d6ad8cdb&v=4'
  36.   'jannchie' 
  37.  
  38. ani.recourse.loadCSV('H:/Data/data/test.csv''data'
  39.  
  40.  
  41. const rectAni = ani.createAni( 
  42.   [ 
  43.     new ani.Rect({ 
  44.       position: { x: 100, y: 0 }, 
  45.       shape: { width: 100, height: 0 }, 
  46.       fillStyle: '#d23'
  47.     }), 
  48.     new ani.Rect({ 
  49.       shape: { width: 100, height: 200 }, 
  50.       fillStyle: '#2a3'
  51.       alpha: 1, 
  52.     }), 
  53.     new ani.Rect({ 
  54.       shape: { width: 100, height: 0 }, 
  55.       fillStyle: '#569'
  56.       alpha: 0, 
  57.     }), 
  58.   ], 
  59.   [0, 1, 2], 
  60.   ani.ease.easeElastic 
  61.  
  62. const logoCenter = new ani.Image({ 
  63.   path: 'H:/Data/data/ANI.png'
  64.   position: { 
  65.     x: stage.canvas.width / 2, 
  66.     y: stage.canvas.height / 2, 
  67.   }, 
  68.   alpha: 0.25, 
  69.   center: { x: 128, y: 128 }, 
  70.   shape: { width: 256, height: 256 }, 
  71. }) 
  72. const logoAni = ani.createAni( 
  73.   [ 
  74.     new ani.Image({ 
  75.       path: 'H:/Data/data/ANI.png'
  76.       position: { 
  77.         x: 0, 
  78.         y: stage.canvas.height - 108, 
  79.       }, 
  80.       shape: { width: 128, height: 128 }, 
  81.     }), 
  82.     new ani.Image({ 
  83.       path: 'H:/Data/data/ANI.png'
  84.       position: { 
  85.         x: stage.canvas.width - 128, 
  86.         y: stage.canvas.height - 108, 
  87.       }, 
  88.       shape: { width: 128, height: 128 }, 
  89.       alpha: 1.0, 
  90.     }), 
  91.     new ani.Image({ 
  92.       path: 'H:/Data/data/ANI.png'
  93.       position: { 
  94.         x: stage.canvas.width - 128, 
  95.         y: stage.canvas.height - 108, 
  96.       }, 
  97.       shape: { width: 128, height: 128 }, 
  98.       alpha: 0, 
  99.     }), 
  100.   ], 
  101.   [0, 1, 2], 
  102.   ani.ease.easeBounce 
  103.  
  104. const barChart = new ani.BarChart({ 
  105.   shape: { width: stage.canvas.width, height: stage.canvas.height }, 
  106.   labelFormat(id) { 
  107.     return id 
  108.     // return meta.get(id).name
  109.   }, 
  110.   aniTime: [0, 30], 
  111. }) 
  112.  
  113. const lineChart = new ani.LineChart({ 
  114.   aniTime: [0, 30], 
  115.   shape: { width: stage.canvas.width, height: stage.canvas.height / 2 }, 
  116.   position: { x: 0, y: stage.canvas.height / 2 }, 
  117. }) 
  118.  
  119.  
  120. stage.addChild(bgAni) 
  121. // stage.addChild(a) 
  122. stage.addChild(logoCenter) 
  123. stage.addChild(textLinesAni) 
  124. stage.addChild(rectAni) 
  125. stage.addChild(logoAni) 
  126. stage.addChild(barChart) 
  127. stage.addChild(lineChart) 
  128.  
  129.  
  130. const pie = new ani.PieChart({ 
  131.   aniTime: [0, 30], 
  132.   radius: [80, 120], 
  133.   position: { x: stage.canvas.width / 2, y: stage.canvas.height / 2 }, 
  134. }) 
  135.  
  136. stage.addChild(pie) 
  137. stage.play() 

運行之前,需要改幾個參數,第一個更改數據路徑

  1. ani.recourse.loadCSV('H:/Data/data/test.csv''data'

數據形式需以下面形式存放,后面 data 代表數據源中更改的列名,比如這里是以日期作為變量進行序列化

  1. name,date,value,channel,other 
  2. Jannchie,2020-01-01,1,科技,other 
  3. Jannchie,2020-01-03,6,科技,other 
  4. Jannchie,2020-01-05,3,科技,other 
  5. Jannchie,2020-01-07,-,科技,other 
  6. Jannchie,2020-01-09,7,科技,other 
  7. Jannchie,2020-01-12,12,科技,other 
  8. Cake47,2020-01-03,10,生活,other 
  9. Cake47,2020-01-02,5,生活,other 
  10. Cake47,2020-01-06,2,生活,other 
  11. Cake47,2020-01-09,3,生活,other 
  12. Cake47,2020-01-11,4,生活,other 

第二個需要更改一下所有 png 路徑,改成你自己的,可以隨意替換為你的 圖片路徑,影響不大

  1. ani.recourse.loadImage('H:/Data/data/ANI.png''logo'

3.2 運行 js 腳本

以上修改完之后,接下來就是啟動腳本,在 js 同文件目錄下打開一個命令行,輸入 node XXX.js ,回車即可,XXX.js 代表你的 js 文件,效果如下

之后會有一個out 文件夾生成,里面存放的就是 anichart 繪制好的圖片

3.3 借助ffmpeg圖片生成視頻

最后,進入out 文件夾,借助ffmpeg 命令將圖片合成視頻,

  1. ffmpeg -f image2 -framerate 12 -i output-%d.png foo.avi 

-framerate 后面參數 12 代表生成視頻的fps,可 根據自己情況設定,這里我設置的是 24;

最終一個動態排序視頻就生成了,隨后自己也可以加一些 bgm 給視頻加一些 feel

4. js中一些參數介紹

關于 anichart 的使用,原作者并沒有介紹太多,Github 主頁上只介紹了最簡單的使用方法

因此為了大家生成一些比較不錯的可視化圖,對上面 js 代碼中的部分參數做一些簡單介紹,增加一些對這個 anichart 庫的理解

4.1 fps、sec

  1. stage.options.fps = 24 
  2.  
  3. stage.options.sec = 30 

fps 顧名思義就是一秒多少幀,sec 代表生成切片持續多長時間(單位:秒);用上面參數來設定的話,會生成 24x30 = 720 張圖片;這兩個參數決定最終視頻的流暢度,后面用 ffmpeg 生成視頻時,建議 framerate 參數 fps保持 一致

4.2 ani.recourse.loadImage

  1. ani.recourse.loadImage( 
  2.   'https://avatars3.githubusercontent.com/u/29743310?s=460&u=8e0d49b98c35738afadc04e70c7f3918d6ad8cdb&v=4'
  3.   'jannchie' 

loadImage用來給柱狀圖中每個數據條上加一個 圖片 logo,方法需要加入兩個參數,前者表示圖片路徑或網頁鏈接,后者表示需要加logo 的數據條名字,例如這里選擇的數據條名字為 jannchie,可視化效果如下

4.3 BarChart、LineChart、PieChart

BarChart、LineChart、PieChart 分別表示柱狀圖、曲線圖、餅圖;anichart 除了這三類圖形外還有 ItemChart、BaseChart、MapChart 等,

anichart 在所有圖形對象中,都需要加入兩個參數,shape 和 aniTime,前者代表形狀大小、后者表示該圖形持續時間,單位 s

4.4 stage.addChild(xx)

anichart 通過 stage.addChild() 函數使得創建的對象生效 ,stage 表示全局 畫布,通過以下命令生成

  1. const ani = require('anichart'
  2.  
  3. const stage = new ani.Stage() 

5. 源碼數據獲取

為了方便,本文中涉及到的源碼、測試數據已經被我打包在一起了,獲取方式:在公眾號 小張Python 后臺,回復關鍵字:210605 即可獲取

6. 小結

關于動態排序圖制作除了這兩種方法之外,再向大家推薦一個網站名叫 flourish,網址:https://flourish.studio/examples/

flourish 最終生成效果也非常不錯,但缺點是需要微調大量參數

好了,關于排序圖的制作就介紹到這里了,如果內容對你有幫助的話不妨點個贊來鼓勵一下我~

 

責任編輯:武曉燕 來源: 小張Python
相關推薦

2022-12-07 08:42:35

2022-07-27 08:16:22

搜索引擎Lucene

2021-12-06 18:22:15

數據項目技術

2021-01-27 21:55:13

代碼參數值ECharts

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2011-01-10 14:41:26

2011-04-28 09:23:36

REST

2021-07-14 09:00:00

JavaFX開發應用

2009-08-27 18:10:58

PHP繪制3D圖形

2022-02-16 16:24:05

HarmonyOS鴻蒙操作系統

2022-05-10 10:43:35

數據源動態切換Spring

2010-07-06 09:38:51

搭建私有云

2021-11-09 06:55:03

水印圖像開發

2010-07-06 09:43:57

搭建私有云

2022-06-06 08:50:40

CIOIT轉型

2021-01-19 09:06:21

MysqlDjango數據庫

2014-08-08 13:22:54

測試手機站點移動設備

2021-01-21 09:10:29

ECharts柱狀圖大數據

2021-09-26 16:08:23

CC++clang_forma
點贊
收藏

51CTO技術棧公眾號

色综合伊人色综合网| 精品久久久在线观看| 国产精品自产拍在线观| 可以免费看av的网址| 99久热在线精品视频观看| 成人欧美一区二区三区视频网页 | 青青草自拍偷拍| 亚洲欧美专区| 婷婷国产在线综合| 亚洲制服中文| www.国产精品视频| 久久九九国产| 美女啪啪无遮挡免费久久网站| 亚洲女则毛耸耸bbw| 乡村艳史在线观看| ...xxx性欧美| 免费h精品视频在线播放| 中文字幕 亚洲视频| 你懂的国产精品| 亚洲男人天堂2023| 性一交一黄一片| 欧美特大特白屁股xxxx| 亚洲精品亚洲人成人网在线播放| 精品一区在线播放| 国产精品羞羞答答在线| 欧美亚洲专区| 欧美大片免费观看| 精品少妇一区二区三区密爱| 精品淫伦v久久水蜜桃| 欧美日韩免费高清一区色橹橹 | 日韩欧美在线观看视频| 99热这里只有精品7| 午夜18视频在线观看| 国产一区二区视频在线播放| 国产91色在线|| 国产一级在线播放| 91精品国产自产在线观看永久∴| 亚洲美女自拍视频| 极品白嫩少妇无套内谢| 午夜不卡一区| 在线视频国内自拍亚洲视频| 91精品国产91久久久久麻豆 主演| 2021av在线| 91麻豆国产自产在线观看| 超碰97在线资源| 国产农村妇女毛片精品| 麻豆成人免费电影| 国产精品久久久久9999| 午夜婷婷在线观看| 9色精品在线| 韩国欧美亚洲国产| 国产精品成人免费一区二区视频| 中文字幕一区二区三三 | 黄瓜视频污在线观看| 99ri日韩精品视频| 欧美变态tickle挠乳网站| 伊人色在线观看| 成人av集中营| 欧美日韩在线一区二区| 亚洲人视频在线| 国产美女久久| 欧美日韩1234| 国产性生活一级片| 精品视频在线播放一区二区三区 | 日本中文字幕在线一区| 精品国产精品一区二区夜夜嗨| 91大神免费观看| 玖玖玖电影综合影院| 欧美一二三区在线观看| 性一交一黄一片| 国产成人av毛片| 日韩精品日韩在线观看| 熟女俱乐部一区二区视频在线| 夜夜春成人影院| 亚洲性夜色噜噜噜7777| 天天操天天干天天操天天干| 欧美国产一级| 欧美猛少妇色xxxxx| 成人在线激情视频| 无码人妻一区二区三区免费n鬼沢| 国产高清日韩| 日韩亚洲电影在线| 稀缺呦国内精品呦| 小说区图片区色综合区| 亚洲午夜激情免费视频| 免费看的黄色录像| 欧美黄色一区二区| 91精品国产高清久久久久久91| 国产精品视频免费播放| 三级欧美在线一区| 日本亚洲欧洲色α| 一个人看的www日本高清视频| 精品亚洲国产成人av制服丝袜| 亚洲综合色激情五月| 人人妻人人澡人人爽人人欧美一区 | 亚洲成人不卡| 91精品在线麻豆| 永久免费未满蜜桃| 精品国产乱码久久久久久蜜坠欲下| 中文字幕一区二区精品| 青青草手机视频在线观看| 国产精品五区| 国产情人节一区| 蜜桃久久一区二区三区| 久久精品视频免费| 女同性恋一区二区| 免费观看一级欧美片| 欧美日韩中文一区| 久久精品女同亚洲女同13| 日韩精品电影| 久久久久久有精品国产| 中文资源在线播放| 99国产精品99久久久久久| 亚洲国产欧美不卡在线观看| 日韩av激情| 欧美性欧美巨大黑白大战| 99免费观看视频| 色婷婷亚洲mv天堂mv在影片| 97超级碰在线看视频免费在线看| 成年人视频软件| 色愁久久久久久| 久久精品国产亚洲精品2020| 日韩不卡av在线| 日韩成人精品一区| 亚洲少妇中文在线| 欧美日韩综合一区二区| 亚洲免费网址| 波多野结衣精品久久| 国产在线你懂得| 一区二区三区四区激情| 五月婷婷激情久久| 91九色综合| 国产理论视频在线观看| 国产黄色一级大片| 1024免费在线视频| 97se狠狠狠综合亚洲狠狠| 日本一二三区视频在线| 亚洲不卡系列| 亚洲精品久久久久| 亚洲国产精品久| 免费人成在线不卡| 蜜桃传媒视频第一区入口在线看| 国产激情在线| 欧美日精品一区视频| 久久久久亚洲av成人无码电影| 亚洲特色特黄| 91精品国产综合久久香蕉最新版| 东凛在线观看| 色综合天天性综合| 北条麻妃99精品青青久久| 亚洲第一成人网站| 99香蕉国产精品偷在线观看| 91久久精品一区二区别| 成人三级网址| 日韩视频国产视频| 成人免费黄色小视频| 久草热8精品视频在线观看| 性欧美.com| 成人免费网站www网站高清| 日韩电影在线观看中文字幕| 日韩精品一区二区三| 99热这里都是精品| 日本xxxxxxxxxx75| 色婷婷综合久久久久久| 91精品国产高清| 青青草免费观看免费视频在线| 日韩欧美精品网址| 夜夜春很很躁夜夜躁| 久久久综合网| 日韩高清国产一区在线观看| 精品美女一区| 操日韩av在线电影| 性生活免费网站| 午夜欧美大尺度福利影院在线看 | 国内不卡的二区三区中文字幕| 亚洲激情一区二区| avtt久久| 久久久久久久成人| 男人久久精品| 欧美久久高跟鞋激| 欧美日韩国产精品综合| 成人免费毛片片v| 亚洲欧洲日产国码无码久久99| 国产99久久| 成人美女免费网站视频| 色屁屁www国产馆在线观看| 亚洲精品videossex少妇| 视频一区二区三区四区五区| 中文字幕二三区不卡| 欧美激情第四页| 亚洲少妇一区| 亚洲午夜精品久久| **爰片久久毛片| 国产69久久精品成人看| 在线a人片免费观看视频| 日韩精品一区二区三区视频在线观看 | 久久久久国产精品人| 亚洲午夜激情影院| 精品福利电影| 亚洲精品二区| 国产+成+人+亚洲欧洲在线| 国产精品久久电影观看| 久cao在线| 精品视频久久久久久| 一区二区 亚洲| 狠狠干狠狠久久| 精品无码一区二区三区蜜臀| 99re在线视频这里只有精品| 加勒比av中文字幕| 久久av最新网址| 特色特色大片在线| 国产欧美一区| 国产亚洲第一区| 欧美黑粗硬大| 欧美性受xxxx白人性爽| 宅男网站在线免费观看| 国产亚洲人成网站在线观看| 国产91绿帽单男绿奴| 欧美日韩一区二区三区在线| 欧美在线亚洲在线| 国产人妻精品一区二区三区| 偷拍与自拍一区| 萌白酱视频在线| 久久综合成人精品亚洲另类欧美 | 欧美日本精品一区二区三区| 中文字幕在线观看免费视频| 亚洲人精品午夜| 97人妻精品一区二区免费| 丁香桃色午夜亚洲一区二区三区| 日韩成人精品视频在线观看| 久久久久久自在自线| 亚洲 自拍 另类小说综合图区| 精品视频网站| 久久精品国产综合精品| 高清日韩欧美| 99理论电影网| www.成人| 国产在线拍揄自揄视频不卡99| 欧美电影免费观看高清完整| 97久久精品视频| 污片在线免费观看| 久久国产精品久久久久久| 91网在线播放| 在线国产精品视频| 国产天堂素人系列在线视频| 精品亚洲一区二区三区| 亚洲AV成人无码一二三区在线| 精品国内二区三区| 亚洲精品.www| 日韩欧美成人一区二区| 99久久99久久久精品棕色圆| 69p69国产精品| 亚洲综合网av| 在线观看91av| 国产一区二区三区四区视频| 欧美剧情片在线观看| 一级黄色片免费| 欧美高清性hdvideosex| 一二三区中文字幕| 欧美一区二区视频免费观看| 国产美女无遮挡永久免费| 在线播放欧美女士性生活| 96日本xxxxxⅹxxx17| 日本韩国欧美一区| 中文字幕有码无码人妻av蜜桃| 欧美日韩一级视频| 国产毛片在线视频| 日韩久久精品一区| 神马午夜精品95| 亚洲跨种族黑人xxx| 国产乱子伦三级在线播放| 尤物精品国产第一福利三区 | 九九视频这里只有精品| 欧美寡妇性猛交xxx免费| 午夜精品福利视频| 中文字幕成在线观看| 欧美怡春院一区二区三区| 国产成人精品亚洲日本在线观看| 国产精品一区电影| 欧美成人精品午夜一区二区| 国新精品乱码一区二区三区18| 亚洲精华一区二区三区| 亚洲精品成人a8198a| 欧美激情综合| 精品一卡二卡三卡| 精彩视频一区二区| 农村末发育av片一区二区 | 91九色最新地址| 亚洲一级片免费看| 精品少妇一区二区三区视频免付费| 欧美熟妇乱码在线一区| 亚洲欧美制服丝袜| 国产黄色在线网站| 97在线视频免费| 欧美黄色成人| 精品无人区一区二区三区| 欧美理论视频| 日本熟妇人妻xxxx| 日韩va亚洲va欧美va久久| 丰满饥渴老女人hd| 国产欧美日产一区| 色妞欧美日韩在线| 国产草草浮力影院| 97精品电影院| 登山的目的在线| 欧美日韩性生活视频| 一区二区三区精| 亚洲第一网站男人都懂| 自拍视频在线网| 97精品在线视频| 成人在线视频国产| 日本福利一区二区三区| 欧美激情日韩| 亚洲福利精品视频| 94色蜜桃网一区二区三区| 无码少妇精品一区二区免费动态| 自拍偷拍欧美精品| 台湾佬中文在线| 精品裸体舞一区二区三区| 牛牛澡牛牛爽一区二区| 欧美另类在线观看| 狂野欧美性猛交xxxx| 精品国产一区二区三区免费| 亚洲字幕久久| 亚洲天堂2018av| 久久综合久久综合久久综合| 免费三片在线播放| 欧美高清dvd| 国产视频第一区| 97精品国产97久久久久久免费| 高清在线一区二区| 亚洲精品tv久久久久久久久| 久久精品毛片| 人妻丰满熟妇aⅴ无码| 亚洲影视在线观看| 国产v在线观看| xx视频.9999.com| 高清av一区二区三区| 明星裸体视频一区二区| 极品av少妇一区二区| 国产九九九视频| 成人欧美一区二区三区小说| 中文字幕av网站| 亚洲欧美日韩在线高清直播| 2020av在线| 国产精品白丝jk白祙| 中文字幕免费一区二区三区| 色网站在线视频| 亚洲欧美在线视频观看| 中文亚洲av片在线观看| 亚洲天堂av图片| 中文字幕乱码在线播放| 久久久久se| 一区二区久久| 无码精品一区二区三区在线播放| 亚洲一区视频在线| 国产黄色片av| 欧美黑人狂野猛交老妇| 天堂va欧美ⅴa亚洲va一国产| 日本一道在线观看| 国产呦精品一区二区三区网站| 欧美风情第一页| 欧美一区在线视频| 在线中文字幕电影| 国产精品免费一区二区三区观看| 韩国在线视频一区| 日本一卡二卡在线| 色婷婷亚洲婷婷| 9色在线视频| 91精品中文在线| 欧美午夜不卡| 亚洲国产果冻传媒av在线观看| 色综合天天综合网天天看片| 波多野结衣在线影院| 成人免费在线网址| 欧美欧美全黄| 亚洲调教欧美在线| 在线观看一区二区视频| 色视频在线免费观看| 91传媒在线免费观看| 亚洲三级毛片| 中文字幕免费高清| 6080午夜不卡| av最新在线| 欧洲一区二区日韩在线视频观看免费| 久久精品理论片| 青娱乐国产盛宴| 亚洲欧美另类人妖| 久久久久久一区二区三区四区别墅| 午夜久久久久久久久久久| 成人一级片在线观看| 精品国产乱子伦| 欧美成年人视频网站欧美| 国产精品毛片久久久| 亚洲人成无码www久久久| 亚洲天堂久久久久久久| 视频污在线观看| 成人精品一区二区三区电影免费| 亚洲性图久久| 91av手机在线|