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

利用HTML5 Canvas創(chuàng)建交互式Bubble Chart

移動(dòng)開發(fā)
眾所周知資訊圖像一種使數(shù)據(jù)易于理解和充滿娛樂性的方式。不同的人采用不同的方式使數(shù)據(jù)易于理解充滿娛樂性,一些人通過充滿創(chuàng)意的平面設(shè)計(jì)實(shí)現(xiàn)這個(gè)目標(biāo)如打印資訊信息,另外也有一些人通過增加動(dòng)畫和交互性實(shí)現(xiàn)目標(biāo)。軟件工程師、研究者、業(yè)余設(shè)計(jì)師Josh Marinacci強(qiáng)烈推薦讀者看Hans Rosling教授和一群富有想象力的人的TED會談。這個(gè)會談揭露了關(guān)于發(fā)展中國家的共同的神話。會談中Rosling教授成功的關(guān)鍵是他采用一種非專業(yè)人士不能理解的方式渲染數(shù)據(jù)。他作品的核心是一個(gè)令人驚奇的Bubble Chart,可以隨著時(shí)間的推移比較世界上的各個(gè)地

Josh Marinacci也在其博客中詳細(xì)地介紹了“如何利用HTML5 Canvas創(chuàng)建可以在移動(dòng)桌面上運(yùn)行的交互式圖表以及如何利用真實(shí)數(shù)據(jù)填充圖表。”下面讓我們跟隨作者學(xué)習(xí)如何創(chuàng)建我們自己的Bubble Chart。

準(zhǔn)備工作:

需要知識:媒介HTML和JavaScript

需求:文本編輯器和現(xiàn)代瀏覽器

關(guān)于Bubble Chart

Bubble Chart就和它聽起來一樣是由氣泡組成的圖表,氣泡實(shí)際上就是一些圓。但是Bubble Chart卻能可視化五維數(shù)據(jù),這也是其強(qiáng)大之處。每個(gè)氣泡代表由 X和Y坐標(biāo)定位的數(shù)據(jù)點(diǎn),這和任何其他的線狀圖和散點(diǎn)圖一樣??墒敲總€(gè)氣泡的大小和顏色屬性可以表示另外兩維的數(shù)據(jù)。如果我們動(dòng)態(tài)顯示圖表,那么我們可以增加時(shí)間作為第五維數(shù)據(jù)。

盡管Bubble Chart的五個(gè)屬性都可以代表任何類型的數(shù)據(jù),但是實(shí)踐中我們通常用X和Y坐標(biāo)代表數(shù)字型數(shù)據(jù),而氣泡顏色這個(gè)屬性用于區(qū)分兩個(gè)不同的數(shù)據(jù)集。例如利用X和Y分表代表兒童的“死亡數(shù)”和“受教育比例”,而氣泡顏色代表不同的國家。氣泡大小一般用來代表某種事物的數(shù)量如某個(gè)國家的人口。當(dāng)動(dòng)態(tài)顯示圖標(biāo)時(shí),第五維的坐標(biāo)用來代表時(shí)間如表示從1960年到現(xiàn)在。仔細(xì)地創(chuàng)造性地使用這些氣泡屬性是創(chuàng)造出一個(gè)與眾不同的資訊圖標(biāo)的關(guān)鍵。

利用模擬數(shù)據(jù)創(chuàng)建簡單的圖表

數(shù)據(jù)本身應(yīng)該代表按照一定標(biāo)準(zhǔn)分組隨著時(shí)間變化的數(shù)據(jù)點(diǎn)。假設(shè)數(shù)據(jù)由5格國家,20個(gè)時(shí)間點(diǎn)(從1980到2000年)的數(shù)據(jù)組成。每個(gè)數(shù)據(jù)點(diǎn)由x、y和大小三個(gè)屬性組成。初始化這些模擬數(shù)據(jù)的代碼如下:

var data = [];

for(var t=0; t<20; t++) {

var cdata = [];

data[t] = cdata;

for(var country=0; country<5; country++) {

cdata.push({

x:50+Math.random()*500,

y:50+Math.random()*300 ,

size: 3+Math.random()*20,

country: country});

}

}

接下來在屏幕上用氣泡描繪出這些數(shù)據(jù),代碼如下:

var canvas = document.getElementById(‘canvas’);

var ctx = canvas.getContext(’2d’);

var colors = ["red","green","blue","yellow","orange"];

var time = 0;

function draw() {

//bg and border

ctx.fillStyle = ”white”;

ctx.fillRect(0,0, canvas.width,canvas.height);

ctx.strokeStyle = ”black”;

ctx.strokeRect(0,0,canvas.width,canvas.height);

//time indicator

ctx.fillStyle = ”black”;

ctx.fillText(“time “ + time, 10,20);

//draw the data for the current time slice

data[time].forEach(function(d) {

ctx.save();

ctx.fillStyle = colors[d.country%colors.length];

ctx.globalAlpha = 0.5;

ctx.beginPath();

ctx.arc(d.x,d.y,d.size,0,Math.PI*2);

ctx.fill();

ctx.restore();

});

}

上述代碼用白色填充背景,利用Canvas邊框作為背景的邊界。然后描繪當(dāng)前時(shí)間指示器,***描繪數(shù)據(jù)本身。每個(gè)數(shù)據(jù)點(diǎn)都根據(jù)當(dāng)前點(diǎn)的x、y和大小描繪成相應(yīng)的圓。每個(gè)國家的顏色從定義的顏色列表中選取。

基本表如下:

為了增加表的時(shí)間屬性,我們只需要用不同的時(shí)間變量重復(fù)調(diào)用描繪函數(shù)重復(fù)描繪即可。代碼如下:

$(“#play”).click(function() {

var animdraw = function() {

draw();

time++;

if(time < data.length) {

setTimeout(animdraw,100);

} else {

time = 0;

}

}

animdraw();

});

獲取“世界數(shù)據(jù)銀行”的數(shù)據(jù)

至此已經(jīng)創(chuàng)建了一個(gè)基本表。下面讓我們利用一些真實(shí)的數(shù)據(jù)填充這個(gè)表讓它更有意思。我們從“世界數(shù)據(jù)銀行”選擇需要的數(shù)據(jù),它是一個(gè)龐大的組織,具有從UN和其他公開的數(shù)據(jù)源采集到的龐大的數(shù)據(jù)集。除了數(shù)據(jù)承載基地,它還有一個(gè)定制的報(bào)表生成器,它可以讓你創(chuàng)建數(shù)據(jù)切片以支持多種格式的數(shù)據(jù)下載。

本文選擇了“世界發(fā)展指標(biāo)和全球發(fā)展金融”數(shù)據(jù)庫。選擇“東亞及太平洋地區(qū)”,“歐洲和中亞”,“拉丁美洲和加勒比地區(qū)”一些國家或地區(qū)作為集合,利用氣泡的顏色屬性表示不同的集合。選擇“死亡率”、“人口密度”、“總?cè)丝?rdquo;作為研究點(diǎn),分別用x、y坐標(biāo)以及氣泡的大小屬性表示。***選擇了時(shí)間變量。簡單的點(diǎn)擊“全選”按鈕即可選擇從1960年到現(xiàn)在以年為單位的數(shù)據(jù)變量。

現(xiàn)在我們已經(jīng)選定了一份報(bào)告。點(diǎn)擊“導(dǎo)出”按鈕下載CSV文件格式的數(shù)據(jù)。我們可以利用Excel打開CSV文件查看從“世界數(shù)據(jù)銀行”所得到的這份報(bào)告的內(nèi)容。如果你利用Excel打開下載的CSV文件,將看到每個(gè)國家或者地區(qū)都有三行組成,我們選擇的每個(gè)變量都有一行。另外你可能看到早年的一些數(shù)據(jù)值并不存在,這意味著那幾年并沒有收集這些國家的數(shù)據(jù)。

解析CSV數(shù)據(jù)

如果你用Excel打開報(bào)告,它看起來只是一堆行。我們需要把數(shù)據(jù)解析成我們能用的形式。為了解析數(shù)據(jù)文件,我們需要CSV解析程序。Josh Marinacci從Ben Nadel下載了一個(gè)解析程序,很好用。為了下載CSV文件并解析它Josh Marinacci使用AJAX調(diào)用jQuery。

$(“#load”).click(function() {

$.ajax({

url: ”data.csv”,

context: document.body,

success: function(c) {

var csvdata = CSVToArray(c);

console.log(“got to here “ + csvdata[1]);

}

});

}

CSV文件被解析成由許多行組成的文件,這些行可以繼續(xù)進(jìn)行子劃分被劃分成列。我們可以通過先列循環(huán)再行循環(huán)的方式處理CSV文件。

data = [];

//start at 9 to skip non-year columns and first few years

for(var t=9; t

var cdata = [];

//loop through rows by threes

for(var i=1; i

var row_mort = csvdata[i];

var row_dens = csvdata[i+1];

var row_total = csvdata[i+2];

var country = (i-1)/3;

cdata.push({

x:row_dens[t] ,

y:row_mort[t],

size: row_total[t],

country: country,

});

}

data[t-9] = cdata;

}

注意上述代碼是從第9列開始處理數(shù)據(jù)的,不僅跳過了數(shù)據(jù)不完整的的前幾年的數(shù)據(jù)點(diǎn)也跳過了一些元數(shù)據(jù)(如國家名字等等)。處理行的時(shí)候每次循環(huán)是處理三行數(shù)據(jù)目的是通過一次循環(huán)可以處理一個(gè)國家或地區(qū)的數(shù)據(jù)。

如果僅僅按照這種方式處理數(shù)據(jù),我們將什么都看不到。整個(gè)Canvas都被單一的顏色填充,這不是我們想要的結(jié)果。這是因?yàn)閿?shù)據(jù)并沒有按比例進(jìn)行適當(dāng)?shù)臄U(kuò)展。例如在1960年東亞和太平洋地區(qū)的人口是10億。為了描繪圖表需要按比例縮小這個(gè)值。為了適用于這些未修改的數(shù)據(jù)在繪制圖表的時(shí)Josh Marinacci使用了可擴(kuò)展的功能。只需要采用如下方式改變弧度即可:

ctx.arc(

d.x*6,

canvas.height-d.y*2.5,

d.size/(1000*1000*11),

0,Math.PI*2

);

上述代碼修改了x、y和氣泡大小的值適應(yīng)Canvas。氣泡大小必須除以1100萬才能得到合理的氣泡半徑。Y值由Canvas高度減去y乘以2.5得到。Canvas的標(biāo)準(zhǔn)坐標(biāo)系要從左上方開始以便被Canvas高度減去之后可以翻轉(zhuǎn)y坐標(biāo)。

修改數(shù)據(jù)變量的值是可以任意選取的,選擇某個(gè)特定的值是為了讓表格看起來比較美觀。具體選擇什么值依賴于正在描繪的數(shù)據(jù)。可以寫一個(gè)程序分析數(shù)據(jù)尋找合理的參數(shù)值,比如通過計(jì)算每一個(gè)變量的***值或者最小值。

表格看起來如下:

增加交互性

賦予表格時(shí)間這一點(diǎn)很好,增加表格的交互性實(shí)際上就是讓圖表閱讀者通過點(diǎn)擊不同的氣泡獲取更多的信息。由于Canvas完全使用像素而不是我們需要的圖形,這種圖形使得通過程序我們可以計(jì)算哪一個(gè)圖形被點(diǎn)擊了。幸運(yùn)地是Canvas中的氣泡都是***的圓,這將使事情容易很多。我們只需要計(jì)算被點(diǎn)擊點(diǎn)與氣泡圓心的距離即可,如果距離小于半徑就認(rèn)為該氣泡被點(diǎn)擊。代碼如下:

$(“#canvas”).mousedown(function(e) {

displayInfo = false;

data[time].forEach(function(d) {

var x = d.x*6;

var y = canvas.height-d.y*2.5;

var radius = d.size/(1000*1000*11);

var dis = dist(e.offsetX,e.offsetY,x,y);

if(dis < radius) {

displayInfo = true;

displayCountry = d.country;

}

});

draw();

});

如果讀者已經(jīng)點(diǎn)擊了某個(gè)圖形,顯示信息的布爾值將變?yōu)?ldquo;true”,保存當(dāng)前的國家并觸發(fā)重繪操作,同時(shí)在右上方通過代碼嵌入一個(gè)小的信息板。

注意在重繪代碼中填充的數(shù)據(jù)是來自于當(dāng)前時(shí)間片而不是用戶點(diǎn)擊表格時(shí)的時(shí)間。這就意味著當(dāng)表格被賦予時(shí)間屬性之后顯示的內(nèi)容將更新以便用戶可以看到隨著時(shí)間變化的數(shù)據(jù)。

if(displayInfo) {

ctx.save();

ctx.translate(canvas.width-305,5);

ctx.fillStyle = ”rgba(200,200,200,0.7)”;

ctx.fillRect(0,0,300,100);

ctx.strokeStyle = ”black”;

ctx.lineWidth = 2;

ctx.strokeRect(0,0,300,100);

ctx.fillStyle = ”black”;

var displayPoint = data[time][displayCountry];

ctx.fillText(“Region: “ + regions[displayPoint.country],5,20);

ctx.fillText(“Population Density: “ + displayPoint.x,5,20+20*1);

ctx.fillText(“Mortality rate: “ + displayPoint.y,5,20+20*2);

ctx.fillText(“Population: “ + displayPoint.size,5,20+20*3);

ctx.restore();

}

改變圖表的視覺效果

一般而言圖報(bào)表不應(yīng)該有這么多的可視元素否則將減損數(shù)據(jù)的潛在表現(xiàn)性,但是選擇一個(gè)***的顏色和模式將產(chǎn)生巨大的差別。為了讓這個(gè)表看起來更好,Josh Marinacci給每個(gè)氣泡增加了一層白色覆蓋物使圓更加***。同時(shí)也給每個(gè)圓增加一個(gè)黑色的邊框并為每個(gè)集合選擇不同的顏色。相對于計(jì)算每個(gè)氣泡顏色的漸變度Josh Marinacci采用先選擇一個(gè)基本的顏色然后改變它的透明度的方式為每個(gè)不同的氣泡選擇顏色。

var radgrad = ctx.createRadialGradient(

x-radius/10,y-radius/10,0,

x-radius/10,y-radius/10,radius+30);

radgrad.addColorStop(0, ’white’);

radgrad.addColorStop(0.5, ’white’);

radgrad.addColorStop(1, ’rgba(255,255,255,0.3)’);

ctx.globalAlpha = 0.6;

ctx.fillStyle = radgrad;

ctx.fill();

為了使圖表更加美觀上述代碼改變了字體增加了邊框,使用了一個(gè)來自于Subtle Patterns網(wǎng)站充滿娛樂性的背景。最終圖表如下:

總結(jié)

上面就是創(chuàng)建Bubble Chart的基本過程。利用上面的基本圖表你可以創(chuàng)建自己的Bubble Chart。你可以增加數(shù)據(jù)自動(dòng)調(diào)整功能,讓圖表閱讀者自己選擇數(shù)據(jù)集合擴(kuò)大或者縮小,你也可以在每個(gè)時(shí)間間隔中插入時(shí)間使時(shí)間劃分更細(xì),動(dòng)態(tài)過程更流暢。

你可以從這獲取工程源碼,也可以從作者的個(gè)人網(wǎng)站JoshOnDesign.com獲取

原文鏈接:

http://www.netmagazine.com/tutorials/create-interactive-bubble-chart-html5-canvas

責(zé)任編輯:佚名 來源: Web App Trend
相關(guān)推薦

2016-11-29 12:25:56

Python大數(shù)據(jù)數(shù)據(jù)可視化

2023-09-28 08:29:15

開源工具集語音識別

2023-06-27 13:46:20

2024-07-25 08:58:16

GradioPython數(shù)據(jù)應(yīng)用

2023-12-18 15:02:00

PyechartsPython數(shù)據(jù)可視化工具

2015-07-14 09:50:28

PHPHTML5

2013-12-11 10:41:00

jQuery插件

2025-11-13 09:16:29

2019-01-03 09:06:55

Node.js命令行工具 前端

2020-12-31 10:29:05

數(shù)據(jù)可視化可視化工具編碼

2025-02-25 10:40:00

圖像生成工具模型

2013-07-08 09:45:50

html5

2023-10-12 16:37:36

模型學(xué)習(xí)

2019-09-06 14:51:40

Python數(shù)據(jù)庫腳本語言

2012-02-24 15:28:36

ibmdw

2017-07-05 16:22:09

HTML5canvas動(dòng)態(tài)

2011-07-21 15:34:36

iPhone HTML5 Canvas

2012-08-30 10:18:09

HTML5CanvasHTML5實(shí)例

2015-10-08 08:48:44

HTML5canvas動(dòng)畫

2013-09-22 16:22:21

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产福利视频在线观看| 成年人晚上看的视频| av日韩在线播放| 一本久久精品一区二区| 一区在线电影| 黄色一级a毛片| 日韩精品一二区| 精品中文字幕视频| 欧美多人猛交狂配| 亚洲欧洲国产精品一区| 色妞www精品视频| 九一免费在线观看| 国产高清一级毛片在线不卡| 国产精品77777竹菊影视小说| 4k岛国日韩精品**专区| 国产色无码精品视频国产| 日本欧美三级| 欧美一级片免费看| 亚洲成人av免费看| av影院在线免费观看| 亚洲图片欧美激情| 欧美主播一区二区三区美女 久久精品人| 99热这里只有精品3| 日本在线不卡视频| 午夜精品视频在线| 免费麻豆国产一区二区三区四区| 日韩精品中文字幕第1页| 亚洲а∨天堂久久精品9966| 久久久久久久久久久久久久久国产| 中文字幕在线免费观看视频| 亚洲成人自拍网| 中文字幕久久一区| 国产小视频免费在线网址| 成人禁用看黄a在线| 亚洲一区二区三| wwwwww在线观看| 美女国产一区| 91国产高清在线| 久久久精品人妻一区二区三区四| 羞羞答答成人影院www| 在线播放国产精品| 亚洲av无码一区二区三区人 | jizz在线观看| 久久蜜臀中文字幕| 精品乱色一区二区中文字幕| 老熟妇高潮一区二区高清视频| 狠狠久久亚洲欧美| 成人精品aaaa网站| 91成年人视频| 久久国产免费看| 国产精品免费在线免费| 羞羞色院91蜜桃| 青草av.久久免费一区| 国产精品久久久久久久av大片| 中文字幕精品三级久久久| 在线综合视频| 欧美有码在线观看视频| 欧美一区二区三区网站| 日韩精品成人一区二区三区| 国产极品精品在线观看| 亚洲精品毛片一区二区三区| 男人的j进女人的j一区| 国产在线视频2019最新视频| 国产精品女同一区二区| 韩国成人福利片在线播放| 成人午夜一级二级三级| 99久久免费国产精精品| 成人一级视频在线观看| 精品在线视频一区二区| 看电影就来5566av视频在线播放| 国产欧美日韩精品a在线观看| 日韩精品国内| 99久久精品免费观看国产| 亚洲激情在线激情| 国产欧美日韩网站| 丁香六月综合| 欧美日韩一区二区三区视频 | 免费av中文字幕| 蜜臀久久99精品久久久画质超高清| 成人黄色短视频在线观看 | 亚洲激情久久久| 玖玖爱在线观看| 日韩激情一区| 欧美国产第二页| 久久国产视频一区| 理论片日本一区| 动漫3d精品一区二区三区| 亚洲色图另类小说| 国产精品免费视频观看| 日韩一级特黄毛片| 免费观看一级欧美片| 欧美日韩国产a| 亚洲成年人av| 成人无号精品一区二区三区| 欧美黑人国产人伦爽爽爽| 天天干天天操天天爱| 麻豆精品久久久| 精品国产_亚洲人成在线| 一广人看www在线观看免费视频| 亚洲综合在线第一页| 丁香啪啪综合成人亚洲| 国产精品成人**免费视频| 亚洲精品乱码久久久久久金桔影视 | 成人免费看片'免费看| www.日韩| 日韩美女主播在线视频一区二区三区 | 色系列之999| 国产精品suv一区二区| 免费不卡在线观看| 精品久久久久久乱码天堂| 日韩三级影院| 在线观看精品一区| 白嫩情侣偷拍呻吟刺激| 99久久.com| 欧美一区二区色| www.国产黄色| 中文字幕一区二区三区不卡 | 亚洲欧美电影在线观看| 女海盗2成人h版中文字幕| 欧美一区二区三区小说| 久久午夜福利电影| 亚洲日本视频| 51国偷自产一区二区三区| 日日夜夜精品一区| 在线观看一区日韩| 免费a级黄色片| 精品成人一区| 成人午夜影院在线观看| 黄色免费在线观看网站| 欧美午夜精品理论片a级按摩| 亚洲av无码一区二区二三区| 伊人久久大香线蕉av超碰演员| 91亚洲永久免费精品| www在线免费观看| 日本丰满少妇一区二区三区| 三级男人添奶爽爽爽视频| 激情综合自拍| 国产精品日韩二区| 神马午夜伦理不卡| 日韩欧美一区二区不卡| 亚洲熟女www一区二区三区| 久久se精品一区精品二区| 日韩一区二区三区资源| 亚洲精品国产嫩草在线观看| 亚洲伦理中文字幕| 特黄视频免费看| 久久影视一区二区| 日本熟妇人妻xxxxx| 日韩手机在线| 国产91色在线|| 黄色小视频在线免费观看| 一本大道久久a久久综合婷婷| 短视频在线观看| 天堂在线亚洲视频| 日韩av在线电影观看| 日本欧美一区| 日韩在线视频国产| 99国产成人精品| 一区二区三区在线视频免费| xxxx国产视频| 99在线热播精品免费99热| 久久久水蜜桃| 精品网站在线| 久久在线精品视频| 亚洲国产精品久久久久久久| 亚洲午夜免费电影| 中文字幕一区二区三区人妻| 琪琪一区二区三区| 亚洲第一页在线视频| 粉嫩一区二区三区在线观看| 欧美国产视频日韩| 五月婷中文字幕| 欧美在线不卡视频| 草视频在线观看| av高清久久久| 999精品视频在线| 欧美视频在线观看| 久久综合九九| 外国成人毛片| 国产69精品久久久| 毛片在线播放网站| 欧美疯狂性受xxxxx喷水图片| 久久久久免费看| 久久综合丝袜日本网| 在线黄色免费看| 国产精品va| 日韩影视精品| 波多野结衣欧美| 国产精品第一区| 蜜臀av国内免费精品久久久夜夜| 精品视频久久久久久| 国产精品伦理一区| 欧美性少妇18aaaa视频| www.5588.com毛片| 91久色porny| 波多野结衣在线免费观看| 中文久久精品| 亚洲第一综合网站| 九一成人免费视频| 97视频热人人精品| 成人午夜毛片| 欧美一区二区.| 天天色天天射天天综合网| 亚洲欧美视频在线| 亚洲精品视频专区| 欧美三区在线视频| 999这里只有精品| 亚洲人成亚洲人成在线观看图片 | 欧美熟女一区二区| 欧美精品欧美精品系列| 天堂在线免费观看视频| 一区二区三区四区高清精品免费观看 | 欧美精品激情在线| 美女羞羞视频在线观看| 亚洲欧美综合精品久久成人| 亚洲欧美另类综合| 欧美一区二区国产| 亚洲自拍偷拍另类| 色婷婷精品久久二区二区蜜臂av| 国产一级一级片| 亚洲人精品一区| 一级特黄曰皮片视频| www国产亚洲精品久久麻豆| 精品伦一区二区三区| 国产一区亚洲一区| 午夜免费看视频| 日本伊人色综合网| 一本久道综合色婷婷五月| 国产日韩精品视频一区二区三区| 精品国偷自产一区二区三区| 91一区二区| 亚洲精品国产系列| blacked蜜桃精品一区| 欧美成ee人免费视频| 色综合久久中文| 精品国产一区二区三区四区vr| 99国产精品免费网站| 超碰97人人在线| 91在线一区| 国产伦精品一区二区三区在线| 中文字幕av一区二区三区四区| 91亚洲精华国产精华| 精品成人18| 91亚色免费| 国产极品模特精品一二| 懂色中文一区二区三区在线视频| 91免费精品国偷自产在线在线| 91九色露脸| 亚洲一区二区三区免费| 亚洲自拍偷拍区| av在线亚洲色图| 国产一区再线| 久久不见久久见国语| 日韩精品不卡| 久久久久av| 成人在线免费高清视频| 国产精品大片| 日本大片免费看| 国产精品日韩久久久| 人人干人人视频| 久久av中文字幕片| 一区二区在线免费观看视频| 不卡高清视频专区| 亚洲av无码一区二区三区人 | 国产成人av电影在线播放| 三上悠亚 电影| 99精品视频在线播放观看| 亚洲天堂网一区二区| 国产欧美日韩久久| 国产精品国产精品88| 亚洲国产精品欧美一二99| 日本中文字幕在线| 欧美日韩国产免费| 亚洲高清视频网站| 日韩精品在线播放| av网站在线免费观看| 久久成人精品一区二区三区| aa级大片免费在线观看| 日韩av电影手机在线观看| 亚洲精品一区二区在线播放∴| 91影视免费在线观看| 亚洲综合小说图片| 老司机av福利| 欧美综合国产| 亚洲成人手机在线观看| 成人福利视频在线| 亚洲一二三四视频| 一区二区三区国产| 色屁屁影院www国产高清麻豆| 在线播放中文字幕一区| 熟妇人妻系列aⅴ无码专区友真希| 亚洲欧洲中文天堂| 成人看av片| 国产精彩精品视频| 99亚洲乱人伦aⅴ精品| 日韩动漫在线观看| 亚洲国产高清视频| 色片在线免费观看| 97久久精品人人澡人人爽| 色老板免费视频| 色综合激情久久| www.成人精品| 日韩视频在线免费观看| 在线女人免费视频| av资源一区二区| 久久人体视频| 四虎永久在线精品无码视频| 成人高清av在线| 538任你躁在线精品视频网站| 色婷婷综合久久久久中文| 色网站免费观看| 成年无码av片在线| 国产精品第一| 欧美日产一区二区三区在线观看| 欧美三级不卡| 日本中文字幕在线不卡| 国产精品素人一区二区| 亚洲s码欧洲m码国产av| 欧美xxxxxxxx| www视频在线免费观看| 国产精品视频免费观看www| 天海翼精品一区二区三区| 日韩欧美精品免费| 国产一区二区免费视频| 五月天免费网站| 欧美午夜精品免费| 国产高清免费av在线| 欧美亚洲另类激情另类| 久久大胆人体视频| 人妻激情另类乱人伦人妻| 国产一区二区伦理片| 污污的视频在线免费观看| 欧美日韩视频在线一区二区| 国产福利免费在线观看| 国产成人精品免高潮费视频| 台湾佬综合网| 成人在线观看黄| 国产无人区一区二区三区| 福利网址在线观看| 国产丝袜一区二区| 日韩成人亚洲| 亚洲国产精品一区二区第一页| 日韩av一级电影| 色偷偷男人天堂| 在线91免费看| 麻豆电影在线播放| 91人成网站www| 欧美国产三级| 秘密基地免费观看完整版中文 | 国产情侣免费视频| 一区二区日韩精品| 8av国产精品爽爽ⅴa在线观看| 午夜精品一区二区三区在线观看| 日本在线不卡视频一二三区| 精品女人久久久| 欧美成人女星排行榜| 国产美女情趣调教h一区二区| 国外成人在线视频网站| 亚洲毛片一区| 男人操女人动态图| 欧美日韩国产色站一区二区三区| 超鹏97在线| 国产日产精品一区二区三区四区| 日韩一级精品| 性欧美13一14内谢| 在线播放一区二区三区| 毛片在线网址| 欧美婷婷久久| 国产综合色精品一区二区三区| 久久人人爽人人爽人人| 亚洲女人初尝黑人巨大| 日韩成人免费av| 老司机激情视频| 久久午夜老司机| 91九色蝌蚪91por成人| 欧美激情性做爰免费视频| 色哟哟精品丝袜一区二区| 超碰成人在线播放| 亚洲一区二区三区小说| 日韩一二三四| 成人网在线免费看| 国产精品试看| 欧美特级一级片| 亚洲国产精品小视频| 欧洲av一区二区| 久久亚洲国产成人精品无码区| 久久亚洲精华国产精华液 | 日本免费在线视频观看| 成人av网址在线| 一级视频在线播放| 97久久精品人搡人人玩| 婷婷亚洲图片| 免费污网站在线观看| 日韩精品最新网址| 激情亚洲影院在线观看| 黄色一级大片免费| 欧美国产综合一区二区| 殴美一级特黄aaaaaa| 国产一区二区在线免费| 亚洲永久字幕|