久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

50个最有用的Matplotlib数据分析与可视化图

發(fā)布時(shí)間:2023/12/10 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 50个最有用的Matplotlib数据分析与可视化图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文介紹了數(shù)據(jù)分析與可視化中最有用的50個(gè)數(shù)據(jù)分析圖,共分為7大類:Correlation、Deviation、RankIng、Distribution、Composition、Change、Groups

原文鏈接:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/

目錄

設(shè)置

Correlation

1.Scatter plot(散點(diǎn)圖)

2.Bubble plot with Encircling(包圍的氣泡圖)

3. Scatter plot with linear regression line of best fit(散點(diǎn)圖與最佳線性擬合回歸線)

4.Jittering with stripplot(帶條紋的抖動(dòng))

5. Counts Plot(計(jì)數(shù)圖)

6. Marginal Histogram(邊緣直方圖)

7. Marginal Boxplot(邊緣箱線圖)

8. Correllogram(相關(guān)圖)

9. Pairwise Plot(成對圖)

Deviation

10. Diverging Bars(發(fā)散條形圖)

11. Diverging Texts(發(fā)散文本)

12. Diverging Dot Plot(散點(diǎn)圖)

13. Diverging Lollipop Chart with Markers(帶標(biāo)記的發(fā)散型棒棒糖圖)

14. Area Chart(面積圖)

Ranking

15. Ordered Bar Chart(有序條形圖)

16. Lollipop Chart(棒棒糖圖)

17. Dot Plot(點(diǎn)圖)

18. Slope Chart(坡度圖)

19. Dumbbell Plot(啞鈴圖)

Distribution

20. Histogram for Continuous Variable(連續(xù)變量的直方圖)

21. Histogram for Categorical Variable(類型變量的直方圖)

22. Density Plot(密度圖)

23. Density Curves with Histogram(直方密度圖)

24. Joy Plot

25. Distributed Dot Plot(分布式點(diǎn)圖)

26. Box Plot(箱形圖)

27. Dot + Box Plot(點(diǎn)+箱型圖)

28. Violin Plot(小提琴圖)

29. Population Pyramid(人口金字塔)

30. Categorical Plots(分類圖)

Composition

31. Waffle Chart(華夫餅表)

32. Pie Chart(餅狀圖)

33. Treemap(樹狀圖)

34. Bar Chart(條形圖)

Change

35. Time Series Plot(時(shí)間序列圖)

36. Time Series with Peaks and Troughs Annotated(帶波峰波谷標(biāo)記的時(shí)序圖)

37. Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot(自相關(guān)和部分自相關(guān)圖)

38. Cross Correlation plot(交叉相關(guān)圖)

39. Time Series Decomposition Plot(時(shí)間序列分解圖)

40. Multiple Time Series(多時(shí)間序列)

41. Plotting with different scales using secondary Y axis(使用輔助Y軸來繪制不同范圍的圖形)

42. Time Series with Error Bands(帶有誤差帶的時(shí)間序列)

43. Stacked Area Chart(堆積面積圖)

44. Area Chart UnStacked(未堆積的面積圖)

45. Calendar Heat Map(日歷熱力圖)

46. Seasonal Plot(季度圖)

Groups

47. Dendrogram(樹狀圖)

48. Cluster Plot(簇狀圖)

49. Andrews Curve(安德魯斯曲線)

50. Parallel Coordinates(平行坐標(biāo))



設(shè)置

在運(yùn)行具體畫圖代碼前,先運(yùn)行以下代碼,導(dǎo)入畫圖所需的庫,以及進(jìn)行一些必要的參數(shù)設(shè)置。

import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns import warnings; warnings.filterwarnings(action='once')large = 22; med = 16; small = 12 params = {'axes.titlesize': large,'legend.fontsize': med,'figure.figsize': (16, 10),'axes.labelsize': med,'axes.titlesize': med,'xtick.labelsize': med,'ytick.labelsize': med,'figure.titlesize': large} plt.rcParams.update(params) plt.style.use('seaborn-whitegrid') sns.set_style("white") %matplotlib inline# Version print(mpl.__version__) #> 3.0.0 print(sns.__version__) #> 0.9.0

Correlation

用于可視化兩個(gè)或多個(gè)變量之間的相互關(guān)系,當(dāng)一個(gè)變量發(fā)生變化時(shí),另一個(gè)變量與之如何變化。

1.Scatter plot(散點(diǎn)圖)

散點(diǎn)圖是研究兩個(gè)變量之間最基本和經(jīng)典的關(guān)系圖。如果數(shù)據(jù)中有多個(gè)不同的組,則可能需要以不同的顏色顯示每個(gè)組。在matplotlib中,可以使用plt.scatterplot()。

# Import dataset midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")# Prepare Data # Create as many colors as there are unique midwest['category'] categories = np.unique(midwest['category']) colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]# Draw Plot for Each Category plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')for i, category in enumerate(categories):plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category==category, :], s=20, c=colors[i], label=str(category))# Decorations plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),xlabel='Area', ylabel='Population')plt.xticks(fontsize=12); plt.yticks(fontsize=12) plt.title("Scatterplot of Midwest Area vs Population", fontsize=22) plt.legend(fontsize=12) plt.show()


2.Bubble plot with Encircling(包圍的氣泡圖)

有時(shí)你想在一個(gè)邊界內(nèi)顯示一組點(diǎn)來強(qiáng)調(diào)它們的重要性。

from matplotlib import patches from scipy.spatial import ConvexHull import warnings; warnings.simplefilter('ignore') sns.set_style("white")# Step 1: Prepare Data midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")# As many colors as there are unique midwest['category'] categories = np.unique(midwest['category']) colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]# Step 2: Draw Scatterplot with unique color for each category fig = plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k') for i, category in enumerate(categories):plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category==category, :], \ s='dot_size', c=colors[i], label=str(category), edgecolors='black', linewidths=.5)# Step 3: Encircling # https://stackoverflow.com/questions/44575681/how-do-i-encircle-different-data-sets-in-scatter-plot def encircle(x,y, ax=None, **kw):if not ax: ax=plt.gca()p = np.c_[x,y]hull = ConvexHull(p)poly = plt.Polygon(p[hull.vertices,:], **kw)ax.add_patch(poly)# Select data to be encircled midwest_encircle_data = midwest.loc[midwest.state=='IN', :] # Draw polygon surrounding vertices encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="k", fc="gold", alpha=0.1) encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="firebrick", fc="none", linewidth=1.5)# Step 4: Decorations plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),xlabel='Area', ylabel='Population')plt.xticks(fontsize=12); plt.yticks(fontsize=12) plt.title("Bubble Plot with Encircling", fontsize=22) plt.legend(fontsize=12) plt.show()


3. Scatter plot with linear regression line of best fit(散點(diǎn)圖與最佳線性擬合回歸線)

如果想了解兩個(gè)變量之間是如何變化的,那么最好的方法就是繪制一條擬合線。下圖顯示了數(shù)據(jù)中不同組之間的最佳擬合線的差異。

# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv") df_select = df.loc[df.cyl.isin([4,8]), :]# Plot sns.set_style("white") gridobj = sns.lmplot(x="displ", y="hwy", hue="cyl", data=df_select, height=7, aspect=1.6, robust=True, palette='tab10', scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))# Decorations gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50)) plt.title("Scatterplot with line of best fit grouped by number of cylinders", fontsize=20) plt.show()


4.Jittering with stripplot(帶條紋的抖動(dòng))

通常,多個(gè)數(shù)據(jù)點(diǎn)具有完全相同的X和Y值。因此繪制這些點(diǎn)時(shí)會(huì)相互覆蓋,為避免這種情況,可以對其稍微抖動(dòng),以便可以直觀地看到它們。使用seaborn.stripplot()函數(shù)很方便。

# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")# Draw Stripplot fig, ax = plt.subplots(figsize=(16,10), dpi= 80) sns.stripplot(df.cty, df.hwy, jitter=0.25, size=8, ax=ax, linewidth=.5)# Decorations plt.title('Use jittered plots to avoid overlapping of points', fontsize=22) plt.show()


5. Counts Plot(計(jì)數(shù)圖)

另一個(gè)避免數(shù)據(jù)點(diǎn)相互重疊的方法是改變數(shù)據(jù)點(diǎn)的大小,這取決于該圖中有多少個(gè)點(diǎn)。

# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv") df_counts = df.groupby(['hwy', 'cty']).size().reset_index(name='counts')# Draw Stripplot fig, ax = plt.subplots(figsize=(16,10), dpi= 80) sns.stripplot(df_counts.cty, df_counts.hwy, size=df_counts.counts*2, ax=ax)# Decorations plt.title('Counts Plot - Size of circle is bigger as more points overlap', fontsize=22) plt.show()


6. Marginal Histogram(邊緣直方圖)

邊緣直方圖是一個(gè)有著沿X和Y軸變量的直方圖。這用于可視化X和Y之間的關(guān)系,同時(shí)也顯示出X和Y各自的分布情況。

# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")# Create Fig and gridspec fig = plt.figure(figsize=(16, 10), dpi= 80) grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)# Define the axes ax_main = fig.add_subplot(grid[:-1, :-1]) ax_right = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[]) ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])# Scatterplot on main ax ax_main.scatter('displ', 'hwy', s=df.cty*4, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, \ cmap="tab10", edgecolors='gray', linewidths=.5)# histogram on the right ax_bottom.hist(df.displ, 40, histtype='stepfilled', orientation='vertical', color='deeppink') ax_bottom.invert_yaxis()# histogram in the bottom ax_right.hist(df.hwy, 40, histtype='stepfilled', orientation='horizontal', color='deeppink')# Decorations ax_main.set(title='Scatterplot with Histograms \n displ vs hwy', xlabel='displ', ylabel='hwy') ax_main.title.set_fontsize(20) for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):item.set_fontsize(14)xlabels = ax_main.get_xticks().tolist() ax_main.set_xticklabels(xlabels) plt.show()


7. Marginal Boxplot(邊緣箱線圖)

邊緣箱圖與邊緣直方圖具有相似的用途。然而,箱線圖有助于精確定位X和Y的中位數(shù),25和75百分位數(shù)。

# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")# Create Fig and gridspec fig = plt.figure(figsize=(16, 10), dpi= 80) grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)# Define the axes ax_main = fig.add_subplot(grid[:-1, :-1]) ax_right = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[]) ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])# Scatterplot on main ax ax_main.scatter('displ', 'hwy', s=df.cty*5, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, cmap="Set1", edgecolors='black', linewidths=.5)# Add a graph in each part sns.boxplot(df.hwy, ax=ax_right, orient="v") sns.boxplot(df.displ, ax=ax_bottom, orient="h")# Decorations ------------------ # Remove x axis name for the boxplot ax_bottom.set(xlabel='') ax_right.set(ylabel='')# Main Title, Xlabel and YLabel ax_main.set(title='Scatterplot with Histograms \n displ vs hwy', xlabel='displ', ylabel='hwy')# Set font size of different components ax_main.title.set_fontsize(20) for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):item.set_fontsize(14)plt.show()


8. Correllogram(相關(guān)圖)

Correlogram用于直觀地查看給定數(shù)據(jù)幀(或2D數(shù)組)中所有可能的數(shù)值變量對之間的相關(guān)度量。

# Import Dataset df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv")# Plot plt.figure(figsize=(12,10), dpi= 80) sns.heatmap(df.corr(), xticklabels=df.corr().columns, yticklabels=df.corr().columns,cmap='RdYlGn', center=0, annot=True)# Decorations plt.title('Correlogram of mtcars', fontsize=22) plt.xticks(fontsize=12) plt.yticks(fontsize=12) plt.show()


9. Pairwise Plot(成對圖)

成對圖用以理解所有可能的數(shù)字變量對之間的關(guān)系,它是雙變量分析的必備工具。

# Load Dataset df = sns.load_dataset('iris')# Plot plt.figure(figsize=(10,8), dpi= 80) sns.pairplot(df, kind="scatter", hue="species", plot_kws=dict(s=80, edgecolor="white", linewidth=2.5)) plt.show()

# Load Dataset df = sns.load_dataset('iris')# Plot plt.figure(figsize=(10,8), dpi= 80) sns.pairplot(df, kind="reg", hue="species") plt.show()


Deviation

10. Diverging Bars(發(fā)散條形圖)

如果想根據(jù)單個(gè)指標(biāo)查看條目的變化情況,并可視化此差異的順序和數(shù)量,那么發(fā)散條形圖是一個(gè)很好的工具。

# Prepare Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") x = df.loc[:, ['mpg']] df['mpg_z'] = (x - x.mean())/x.std() df['colors'] = ['red' if x < 0 else 'green' for x in df['mpg_z']] df.sort_values('mpg_z', inplace=True) df.reset_index(inplace=True)# Draw plot plt.figure(figsize=(14,10), dpi= 80) plt.hlines(y=df.index, xmin=0, xmax=df.mpg_z, color=df.colors, alpha=0.4, linewidth=5)# Decorations plt.gca().set(ylabel='$Model$', xlabel='$Mileage$') plt.yticks(df.index, df.cars, fontsize=12) plt.title('Diverging Bars of Car Mileage', fontdict={'size':20}) plt.grid(linestyle='--', alpha=0.5) plt.show()


11. Diverging Texts(發(fā)散文本)

發(fā)散文本類似于發(fā)散條形圖,如果想以一種漂亮和可呈現(xiàn)的方式顯示圖表中每個(gè)條目的數(shù)值。

# Prepare Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") x = df.loc[:, ['mpg']] df['mpg_z'] = (x - x.mean())/x.std() df['colors'] = ['red' if x < 0 else 'green' for x in df['mpg_z']] df.sort_values('mpg_z', inplace=True) df.reset_index(inplace=True)# Draw plot plt.figure(figsize=(14,14), dpi= 80) plt.hlines(y=df.index, xmin=0, xmax=df.mpg_z) for x, y, tex in zip(df.mpg_z, df.index, df.mpg_z):t = plt.text(x, y, round(tex, 2), horizontalalignment='right' if x < 0 else 'left', verticalalignment='center', fontdict={'color':'red' if x < 0 else 'green', 'size':14})# Decorations plt.yticks(df.index, df.cars, fontsize=12) plt.title('Diverging Text Bars of Car Mileage', fontdict={'size':20}) plt.grid(linestyle='--', alpha=0.5) plt.xlim(-2.5, 2.5) plt.show()


12. Diverging Dot Plot(散點(diǎn)圖)

# Prepare Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") x = df.loc[:, ['mpg']] df['mpg_z'] = (x - x.mean())/x.std() df['colors'] = ['red' if x < 0 else 'darkgreen' for x in df['mpg_z']] df.sort_values('mpg_z', inplace=True) df.reset_index(inplace=True)# Draw plot plt.figure(figsize=(14,16), dpi= 80) plt.scatter(df.mpg_z, df.index, s=450, alpha=.6, color=df.colors) for x, y, tex in zip(df.mpg_z, df.index, df.mpg_z):t = plt.text(x, y, round(tex, 1), horizontalalignment='center', verticalalignment='center', fontdict={'color':'white'})# Decorations # Lighten borders plt.gca().spines["top"].set_alpha(.3) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(.3) plt.gca().spines["left"].set_alpha(.3)plt.yticks(df.index, df.cars) plt.title('Diverging Dotplot of Car Mileage', fontdict={'size':20}) plt.xlabel('$Mileage$') plt.grid(linestyle='--', alpha=0.5) plt.xlim(-2.5, 2.5) plt.show()


13. Diverging Lollipop Chart with Markers(帶標(biāo)記的發(fā)散型棒棒糖圖

帶標(biāo)記的棒棒糖可以幫助強(qiáng)調(diào)想要引起注意的任何重要數(shù)據(jù)點(diǎn)。

# Prepare Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") x = df.loc[:, ['mpg']] df['mpg_z'] = (x - x.mean())/x.std() df['colors'] = 'black'# color fiat differently df.loc[df.cars == 'Fiat X1-9', 'colors'] = 'darkorange' df.sort_values('mpg_z', inplace=True) df.reset_index(inplace=True)# Draw plot import matplotlib.patches as patchesplt.figure(figsize=(14,16), dpi= 80) plt.hlines(y=df.index, xmin=0, xmax=df.mpg_z, color=df.colors, alpha=0.4, linewidth=1) plt.scatter(df.mpg_z, df.index, color=df.colors, s=[600 if x == 'Fiat X1-9' else 300 for x in df.cars], alpha=0.6) plt.yticks(df.index, df.cars) plt.xticks(fontsize=12)# Annotate plt.annotate('Mercedes Models', xy=(0.0, 11.0), xytext=(1.0, 11), xycoords='data', fontsize=15, ha='center', va='center',bbox=dict(boxstyle='square', fc='firebrick'),arrowprops=dict(arrowstyle='-[, widthB=2.0, lengthB=1.5', lw=2.0, color='steelblue'), color='white')# Add Patches p1 = patches.Rectangle((-2.0, -1), width=.3, height=3, alpha=.2, facecolor='red') p2 = patches.Rectangle((1.5, 27), width=.8, height=5, alpha=.2, facecolor='green') plt.gca().add_patch(p1) plt.gca().add_patch(p2)# Decorate plt.title('Diverging Bars of Car Mileage', fontdict={'size':20}) plt.grid(linestyle='--', alpha=0.5) plt.show()


14. Area Chart(面積圖)

通過對坐標(biāo)軸和曲線之間的區(qū)域進(jìn)行著色,區(qū)域圖不僅強(qiáng)調(diào)波峰值和低波,而且還強(qiáng)調(diào)波峰和波谷的持續(xù)時(shí)間。波峰持續(xù)時(shí)間越長,面積越大。

import numpy as np import pandas as pd# Prepare Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/economics.csv", parse_dates=['date']).head(100) x = np.arange(df.shape[0]) y_returns = (df.psavert.diff().fillna(0)/df.psavert.shift(1)).fillna(0) * 100# Plot plt.figure(figsize=(16,10), dpi= 80) plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] >= 0, facecolor='green', interpolate=True, alpha=0.7) plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] <= 0, facecolor='red', interpolate=True, alpha=0.7)# Annotate plt.annotate('Peak \n1975', xy=(94.0, 21.0), xytext=(88.0, 28),bbox=dict(boxstyle='square', fc='firebrick'),arrowprops=dict(facecolor='steelblue', shrink=0.05), fontsize=15, color='white')# Decorations xtickvals = [str(m)[:3].upper()+"-"+str(y) for y,m in zip(df.date.dt.year, df.date.dt.month_name())] plt.gca().set_xticks(x[::6]) plt.gca().set_xticklabels(xtickvals[::6], rotation=90, fontdict={'horizontalalignment': 'center', 'verticalalignment': 'center_baseline'}) plt.ylim(-35,35) plt.xlim(1,100) plt.title("Month Economics Return %", fontsize=22) plt.ylabel('Monthly returns %') plt.grid(alpha=0.5) plt.show()


Ranking

15. Ordered Bar Chart(有序條形圖)

有序條形圖有效地傳達(dá)了條目的排名順序。但是,在圖表上方添加度量標(biāo)準(zhǔn)的值,用戶可以從圖表本身獲取精確信息。

# Prepare Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv") df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.mean()) df.sort_values('cty', inplace=True) df.reset_index(inplace=True)# Draw plot import matplotlib.patches as patchesfig, ax = plt.subplots(figsize=(16,10), facecolor='white', dpi= 80) ax.vlines(x=df.index, ymin=0, ymax=df.cty, color='firebrick', alpha=0.7, linewidth=20)# Annotate Text for i, cty in enumerate(df.cty):ax.text(i, cty+0.5, round(cty, 1), horizontalalignment='center')# Title, Label, Ticks and Ylim ax.set_title('Bar Chart for Highway Mileage', fontdict={'size':22}) ax.set(ylabel='Miles Per Gallon', ylim=(0, 30)) plt.xticks(df.index, df.manufacturer.str.upper(), rotation=60, horizontalalignment='right', fontsize=12)# Add patches to color the X axis labels p1 = patches.Rectangle((.57, -0.005), width=.33, height=.13, alpha=.1, facecolor='green', transform=fig.transFigure) p2 = patches.Rectangle((.124, -0.005), width=.446, height=.13, alpha=.1, facecolor='red', transform=fig.transFigure) fig.add_artist(p1) fig.add_artist(p2) plt.show()


16. Lollipop Chart(棒棒糖圖)

棒棒糖圖表以一種視覺上令人愉悅的方式提供與有序條形圖類似的目的。

# Prepare Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv") df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.mean()) df.sort_values('cty', inplace=True) df.reset_index(inplace=True)# Draw plot fig, ax = plt.subplots(figsize=(16,10), dpi= 80) ax.vlines(x=df.index, ymin=0, ymax=df.cty, color='firebrick', alpha=0.7, linewidth=2) ax.scatter(x=df.index, y=df.cty, s=75, color='firebrick', alpha=0.7)# Title, Label, Ticks and Ylim ax.set_title('Lollipop Chart for Highway Mileage', fontdict={'size':22}) ax.set_ylabel('Miles Per Gallon') ax.set_xticks(df.index) ax.set_xticklabels(df.manufacturer.str.upper(), rotation=60, fontdict={'horizontalalignment': 'right', 'size':12}) ax.set_ylim(0, 30)# Annotate for row in df.itertuples():ax.text(row.Index, row.cty+.5, s=round(row.cty, 2), horizontalalignment= 'center', verticalalignment='bottom', fontsize=14)plt.show()


17. Dot Plot(點(diǎn)圖)

點(diǎn)圖傳達(dá)了條目的排名順序。由于它沿水平軸對齊,因此可以更容易地看到點(diǎn)彼此之間的距離。

# Prepare Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv") df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.mean()) df.sort_values('cty', inplace=True) df.reset_index(inplace=True)# Draw plot fig, ax = plt.subplots(figsize=(16,10), dpi= 80) ax.hlines(y=df.index, xmin=11, xmax=26, color='gray', alpha=0.7, linewidth=1, linestyles='dashdot') ax.scatter(y=df.index, x=df.cty, s=75, color='firebrick', alpha=0.7)# Title, Label, Ticks and Ylim ax.set_title('Dot Plot for Highway Mileage', fontdict={'size':22}) ax.set_xlabel('Miles Per Gallon') ax.set_yticks(df.index) ax.set_yticklabels(df.manufacturer.str.title(), fontdict={'horizontalalignment': 'right'}) ax.set_xlim(10, 27) plt.show()


18. Slope Chart(坡度圖)

坡度圖最適合比較給定項(xiàng)目的“在此之前”和“在此之后”的位置。

import matplotlib.lines as mlines # Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/gdppercap.csv")left_label = [str(c) + ', '+ str(round(y)) for c, y in zip(df.continent, df['1952'])] right_label = [str(c) + ', '+ str(round(y)) for c, y in zip(df.continent, df['1957'])] klass = ['red' if (y1-y2) < 0 else 'green' for y1, y2 in zip(df['1952'], df['1957'])]# draw line # https://stackoverflow.com/questions/36470343/how-to-draw-a-line-with-matplotlib/36479941 def newline(p1, p2, color='black'):ax = plt.gca()l = mlines.Line2D([p1[0],p2[0]], [p1[1],p2[1]], color='red' if p1[1]-p2[1] > 0 else 'green', marker='o', markersize=6)ax.add_line(l)return lfig, ax = plt.subplots(1,1,figsize=(14,14), dpi= 80)# Vertical Lines ax.vlines(x=1, ymin=500, ymax=13000, color='black', alpha=0.7, linewidth=1, linestyles='dotted') ax.vlines(x=3, ymin=500, ymax=13000, color='black', alpha=0.7, linewidth=1, linestyles='dotted')# Points ax.scatter(y=df['1952'], x=np.repeat(1, df.shape[0]), s=10, color='black', alpha=0.7) ax.scatter(y=df['1957'], x=np.repeat(3, df.shape[0]), s=10, color='black', alpha=0.7)# Line Segmentsand Annotation for p1, p2, c in zip(df['1952'], df['1957'], df['continent']):newline([1,p1], [3,p2])ax.text(1-0.05, p1, c + ', ' + str(round(p1)), horizontalalignment='right', verticalalignment='center', fontdict={'size':14})ax.text(3+0.05, p2, c + ', ' + str(round(p2)), horizontalalignment='left', verticalalignment='center', fontdict={'size':14})# 'Before' and 'After' Annotations ax.text(1-0.05, 13000, 'BEFORE', horizontalalignment='right', verticalalignment='center', fontdict={'size':18, 'weight':700}) ax.text(3+0.05, 13000, 'AFTER', horizontalalignment='left', verticalalignment='center', fontdict={'size':18, 'weight':700})# Decoration ax.set_title("Slopechart: Comparing GDP Per Capita between 1952 vs 1957", fontdict={'size':22}) ax.set(xlim=(0,4), ylim=(0,14000), ylabel='Mean GDP Per Capita') ax.set_xticks([1,3]) ax.set_xticklabels(["1952", "1957"]) plt.yticks(np.arange(500, 13000, 2000), fontsize=12)# Lighten borders plt.gca().spines["top"].set_alpha(.0) plt.gca().spines["bottom"].set_alpha(.0) plt.gca().spines["right"].set_alpha(.0) plt.gca().spines["left"].set_alpha(.0) plt.show()


19. Dumbbell Plot(啞鈴圖

啞鈴圖傳達(dá)各種項(xiàng)目的“前”和“后”位置以及項(xiàng)目的排序。

import matplotlib.lines as mlines# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/health.csv") df.sort_values('pct_2014', inplace=True) df.reset_index(inplace=True)# Func to draw line segment def newline(p1, p2, color='black'):ax = plt.gca()l = mlines.Line2D([p1[0],p2[0]], [p1[1],p2[1]], color='skyblue')ax.add_line(l)return l# Figure and Axes fig, ax = plt.subplots(1,1,figsize=(14,14), facecolor='#f7f7f7', dpi= 80)# Vertical Lines ax.vlines(x=.05, ymin=0, ymax=26, color='black', alpha=1, linewidth=1, linestyles='dotted') ax.vlines(x=.10, ymin=0, ymax=26, color='black', alpha=1, linewidth=1, linestyles='dotted') ax.vlines(x=.15, ymin=0, ymax=26, color='black', alpha=1, linewidth=1, linestyles='dotted') ax.vlines(x=.20, ymin=0, ymax=26, color='black', alpha=1, linewidth=1, linestyles='dotted')# Points ax.scatter(y=df['index'], x=df['pct_2013'], s=50, color='#0e668b', alpha=0.7) ax.scatter(y=df['index'], x=df['pct_2014'], s=50, color='#a3c4dc', alpha=0.7)# Line Segments for i, p1, p2 in zip(df['index'], df['pct_2013'], df['pct_2014']):newline([p1, i], [p2, i])# Decoration ax.set_facecolor('#f7f7f7') ax.set_title("Dumbell Chart: Pct Change - 2013 vs 2014", fontdict={'size':22}) ax.set(xlim=(0,.25), ylim=(-1, 27), ylabel='Mean GDP Per Capita') ax.set_xticks([.05, .1, .15, .20]) ax.set_xticklabels(['5%', '15%', '20%', '25%']) ax.set_xticklabels(['5%', '15%', '20%', '25%']) plt.show()


Distribution

20. Histogram for Continuous Variable(連續(xù)變量的直方圖

直方圖顯示給定變量的頻率分布。下面表示基于分類變量對頻率條進(jìn)行分組,從而更好地了解連續(xù)變量和串聯(lián)變量。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare data x_var = 'displ' groupby_var = 'class' df_agg = df.loc[:, [x_var, groupby_var]].groupby(groupby_var) vals = [df[x_var].values.tolist() for i, df in df_agg]# Draw plt.figure(figsize=(16,9), dpi= 80) colors = [plt.cm.Spectral(i/float(len(vals)-1)) for i in range(len(vals))] n, bins, patches = plt.hist(vals, 30, stacked=True, density=False, color=colors[:len(vals)])# Decoration plt.legend({group:col for group, col in zip(np.unique(df[groupby_var]).tolist(), colors[:len(vals)])}) plt.title(f"Stacked Histogram of ${x_var}$ colored by ${groupby_var}$", fontsize=22) plt.xlabel(x_var) plt.ylabel("Frequency") plt.ylim(0, 25) plt.xticks(ticks=bins[::3], labels=[round(b,1) for b in bins[::3]]) plt.show()


21. Histogram for Categorical Variable(類型變量的直方圖

分類變量的直方圖顯示該變量的頻率分布。通過對條形圖進(jìn)行著色,您可以將分布與表示顏色的另一個(gè)分類變量相關(guān)聯(lián)。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare data x_var = 'manufacturer' groupby_var = 'class' df_agg = df.loc[:, [x_var, groupby_var]].groupby(groupby_var) vals = [df[x_var].values.tolist() for i, df in df_agg]# Draw plt.figure(figsize=(16,9), dpi= 80) colors = [plt.cm.Spectral(i/float(len(vals)-1)) for i in range(len(vals))] n, bins, patches = plt.hist(vals, df[x_var].unique().__len__(), stacked=True, density=False, color=colors[:len(vals)])# Decoration plt.legend({group:col for group, col in zip(np.unique(df[groupby_var]).tolist(), colors[:len(vals)])}) plt.title(f"Stacked Histogram of ${x_var}$ colored by ${groupby_var}$", fontsize=22) plt.xlabel(x_var) plt.ylabel("Frequency") plt.ylim(0, 40) plt.xticks(ticks=bins, labels=np.unique(df[x_var]).tolist(), rotation=90, horizontalalignment='left') plt.show()


22. Density Plot(密度圖)

密度圖是一種常用工具,可視化連續(xù)變量的分布。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(16,10), dpi= 80) sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=True, color="g", label="Cyl=4", alpha=.7) sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=True, color="deeppink", label="Cyl=5", alpha=.7) sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=True, color="dodgerblue", label="Cyl=6", alpha=.7) sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=True, color="orange", label="Cyl=8", alpha=.7)# Decoration plt.title('Density Plot of City Mileage by n_Cylinders', fontsize=22) plt.legend() plt.show()


23. Density Curves with Histogram(直方密度圖

帶有直方圖的密度曲線將兩個(gè)圖表傳達(dá)的集體信息匯集在一起,這樣您就可以將它們放在一個(gè)圖形而不是兩個(gè)圖形中。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(13,10), dpi= 80) sns.distplot(df.loc[df['class'] == 'compact', "cty"], color="dodgerblue", label="Compact", hist_kws={'alpha':.7}, kde_kws={'linewidth':3}) sns.distplot(df.loc[df['class'] == 'suv', "cty"], color="orange", label="SUV", hist_kws={'alpha':.7}, kde_kws={'linewidth':3}) sns.distplot(df.loc[df['class'] == 'minivan', "cty"], color="g", label="minivan", hist_kws={'alpha':.7}, kde_kws={'linewidth':3})plt.ylim(0, 0.35)# Decoration plt.title('Density Plot of City Mileage by Vehicle Type', fontsize=22) plt.legend() plt.show()


24. Joy Plot

Joy Plot允許不同組的密度曲線重疊,這是一種可視化相對于彼此的大量組的分布的好方法。它看起來很悅目,并清楚地傳達(dá)了正確的信息。它可以使用joypy包來輕松構(gòu)建。

# !pip install joypy # Import Data mpg = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(16,10), dpi= 80) fig, axes = joypy.joyplot(mpg, column=['hwy', 'cty'], by="class", ylim='own', figsize=(14,10))# Decoration plt.title('Joy Plot of City and Highway Mileage by Class', fontsize=22) plt.show()


25. Distributed Dot Plot(分布式點(diǎn)圖)

分布點(diǎn)圖顯示按組分割的點(diǎn)的單變量分布。

import matplotlib.patches as mpatches# Prepare Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv") cyl_colors = {4:'tab:red', 5:'tab:green', 6:'tab:blue', 8:'tab:orange'} df_raw['cyl_color'] = df_raw.cyl.map(cyl_colors)# Mean and Median city mileage by make df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.mean()) df.sort_values('cty', ascending=False, inplace=True) df.reset_index(inplace=True) df_median = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.median())# Draw horizontal lines fig, ax = plt.subplots(figsize=(16,10), dpi= 80) ax.hlines(y=df.index, xmin=0, xmax=40, color='gray', alpha=0.5, linewidth=.5, linestyles='dashdot')# Draw the Dots for i, make in enumerate(df.manufacturer):df_make = df_raw.loc[df_raw.manufacturer==make, :]ax.scatter(y=np.repeat(i, df_make.shape[0]), x='cty', data=df_make, s=75, edgecolors='gray', c='w', alpha=0.5)ax.scatter(y=i, x='cty', data=df_median.loc[df_median.index==make, :], s=75, c='firebrick')# Annotate ax.text(33, 13, "$red \; dots \; are \; the \: median$", fontdict={'size':12}, color='firebrick')# Decorations red_patch = plt.plot([],[], marker="o", ms=10, ls="", mec=None, color='firebrick', label="Median") plt.legend(handles=red_patch) ax.set_title('Distribution of City Mileage by Make', fontdict={'size':22}) ax.set_xlabel('Miles Per Gallon (City)', alpha=0.7) ax.set_yticks(df.index) ax.set_yticklabels(df.manufacturer.str.title(), fontdict={'horizontalalignment': 'right'}, alpha=0.7) ax.set_xlim(1, 40) plt.xticks(alpha=0.7) plt.gca().spines["top"].set_visible(False) plt.gca().spines["bottom"].set_visible(False) plt.gca().spines["right"].set_visible(False) plt.gca().spines["left"].set_visible(False) plt.grid(axis='both', alpha=.4, linewidth=.1) plt.show()


26. Box Plot(箱形圖)

箱形圖是一種可視化分布的好方法,記住中位數(shù),第25個(gè)第75個(gè)四分位數(shù)和異常值。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(13,10), dpi= 80) sns.boxplot(x='class', y='hwy', data=df, notch=False)# Add N Obs inside boxplot (optional) def add_n_obs(df,group_col,y):medians_dict = {grp[0]:grp[1][y].median() for grp in df.groupby(group_col)}xticklabels = [x.get_text() for x in plt.gca().get_xticklabels()]n_obs = df.groupby(group_col)[y].size().valuesfor (x, xticklabel), n_ob in zip(enumerate(xticklabels), n_obs):plt.text(x, medians_dict[xticklabel]*1.01, "#obs : "+str(n_ob), horizontalalignment='center', fontdict={'size':14}, color='white')add_n_obs(df,group_col='class',y='hwy') # Decoration plt.title('Box Plot of Highway Mileage by Vehicle Class', fontsize=22) plt.ylim(10, 40) plt.show()


27. Dot + Box Plot(點(diǎn)+箱型圖)

Dot + Box plot傳送類似于分組的boxplot信息。此外,這些點(diǎn)給出了每組中有多少數(shù)據(jù)點(diǎn)。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(13,10), dpi= 80) sns.boxplot(x='class', y='hwy', data=df, hue='cyl') sns.stripplot(x='class', y='hwy', data=df, color='black', size=3, jitter=1)for i in range(len(df['class'].unique())-1):plt.vlines(i+.5, 10, 45, linestyles='solid', colors='gray', alpha=0.2)# Decoration plt.title('Box Plot of Highway Mileage by Vehicle Class', fontsize=22) plt.legend(title='Cylinders') plt.show()


28. Violin Plot(小提琴圖)

小提琴圖是箱形圖的視覺上令人愉悅的替代品。小提琴的形狀或面積取決于它所持有的點(diǎn)數(shù)。然而,小提琴圖可能更難以理解,并且在專業(yè)設(shè)置中不常用。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Draw Plot plt.figure(figsize=(13,10), dpi= 80) sns.violinplot(x='class', y='hwy', data=df, scale='width', inner='quartile')# Decoration plt.title('Violin Plot of Highway Mileage by Vehicle Class', fontsize=22) plt.show()


29. Population Pyramid(人口金字塔)

人口金字塔可用于顯示由volumne排序的組的分布。

# Read data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/email_campaign_funnel.csv")# Draw Plot plt.figure(figsize=(13,10), dpi= 80) group_col = 'Gender' order_of_bars = df.Stage.unique()[::-1] colors = [plt.cm.Spectral(i/float(len(df[group_col].unique())-1)) for i in range(len(df[group_col].unique()))]for c, group in zip(colors, df[group_col].unique()):sns.barplot(x='Users', y='Stage', data=df.loc[df[group_col]==group, :], order=order_of_bars, color=c, label=group)# Decorations plt.xlabel("$Users$") plt.ylabel("Stage of Purchase") plt.yticks(fontsize=12) plt.title("Population Pyramid of the Marketing Funnel", fontsize=22) plt.legend() plt.show()


30. Categorical Plots(分類圖)

由Seaborn庫提供的分類圖可用于可視化彼此相關(guān)的2個(gè)或更多分類變量的計(jì)數(shù)分布。

# Load Dataset titanic = sns.load_dataset("titanic")# Plot g = sns.catplot("alive", col="deck", col_wrap=4,data=titanic[titanic.deck.notnull()],kind="count", height=3.5, aspect=.8, palette='tab20')fig.suptitle('sf') plt.show()

# Load Dataset titanic = sns.load_dataset("titanic")# Plot sns.catplot(x="age", y="embark_town",hue="sex", col="class",data=titanic[titanic.embark_town.notnull()],orient="h", height=5, aspect=1, palette="tab10",kind="violin", dodge=True, cut=0, bw=.2)


Composition

31. Waffle Chart(華夫餅表)

Waffle表可使用pywaffle包來創(chuàng)建。

#! pip install pywaffle # Reference: https://stackoverflow.com/questions/41400136/how-to-do-waffle-charts-in-python-square-piechart from pywaffle import Waffle# Import df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data df = df_raw.groupby('class').size().reset_index(name='counts') n_categories = df.shape[0] colors = [plt.cm.inferno_r(i/float(n_categories)) for i in range(n_categories)]# Draw Plot and Decorate fig = plt.figure(FigureClass=Waffle,plots={'111': {'values': df['counts'],'labels': ["{0} ({1})".format(n[0], n[1]) for n in df[['class', 'counts']].itertuples()],'legend': {'loc': 'upper left', 'bbox_to_anchor': (1.05, 1), 'fontsize': 12},'title': {'label': '# Vehicles by Class', 'loc': 'center', 'fontsize':18}},},rows=7,colors=colors,figsize=(16, 9) )

#! pip install pywaffle from pywaffle import Waffle# Import # df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data # By Class Data df_class = df_raw.groupby('class').size().reset_index(name='counts_class') n_categories = df_class.shape[0] colors_class = [plt.cm.Set3(i/float(n_categories)) for i in range(n_categories)]# By Cylinders Data df_cyl = df_raw.groupby('cyl').size().reset_index(name='counts_cyl') n_categories = df_cyl.shape[0] colors_cyl = [plt.cm.Spectral(i/float(n_categories)) for i in range(n_categories)]# By Make Data df_make = df_raw.groupby('manufacturer').size().reset_index(name='counts_make') n_categories = df_make.shape[0] colors_make = [plt.cm.tab20b(i/float(n_categories)) for i in range(n_categories)]# Draw Plot and Decorate fig = plt.figure(FigureClass=Waffle,plots={'311': {'values': df_class['counts_class'],'labels': ["{1}".format(n[0], n[1]) for n in df_class[['class', 'counts_class']].itertuples()],'legend': {'loc': 'upper left', 'bbox_to_anchor': (1.05, 1), 'fontsize': 12, 'title':'Class'},'title': {'label': '# Vehicles by Class', 'loc': 'center', 'fontsize':18},'colors': colors_class},'312': {'values': df_cyl['counts_cyl'],'labels': ["{1}".format(n[0], n[1]) for n in df_cyl[['cyl', 'counts_cyl']].itertuples()],'legend': {'loc': 'upper left', 'bbox_to_anchor': (1.05, 1), 'fontsize': 12, 'title':'Cyl'},'title': {'label': '# Vehicles by Cyl', 'loc': 'center', 'fontsize':18},'colors': colors_cyl},'313': {'values': df_make['counts_make'],'labels': ["{1}".format(n[0], n[1]) for n in df_make[['manufacturer', 'counts_make']].itertuples()],'legend': {'loc': 'upper left', 'bbox_to_anchor': (1.05, 1), 'fontsize': 12, 'title':'Manufacturer'},'title': {'label': '# Vehicles by Make', 'loc': 'center', 'fontsize':18},'colors': colors_make}},rows=9,figsize=(16, 14) )


32. Pie Chart(餅狀圖)

餅狀圖大家應(yīng)該很熟悉,這里只有一個(gè)小建議:明確標(biāo)記餅狀圖每個(gè)部分的百分比或數(shù)字。

# Import df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data df = df_raw.groupby('class').size()# Make the plot with pandas df.plot(kind='pie', subplots=True, figsize=(8, 8), dpi= 80) plt.title("Pie Chart of Vehicle Class - Bad") plt.ylabel("") plt.show()

# Import df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data df = df_raw.groupby('class').size().reset_index(name='counts')# Draw Plot fig, ax = plt.subplots(figsize=(12, 7), subplot_kw=dict(aspect="equal"), dpi= 80)data = df['counts'] categories = df['class'] explode = [0,0,0,0,0,0.1,0]def func(pct, allvals):absolute = int(pct/100.*np.sum(allvals))return "{:.1f}% ({:d} )".format(pct, absolute)wedges, texts, autotexts = ax.pie(data, autopct=lambda pct: func(pct, data),textprops=dict(color="w"), colors=plt.cm.Dark2.colors,startangle=140,explode=explode)# Decoration ax.legend(wedges, categories, title="Vehicle Class", loc="center left", bbox_to_anchor=(1, 0, 0.5, 1)) plt.setp(autotexts, size=10, weight=700) ax.set_title("Class of Vehicles: Pie Chart") plt.show()


33. Treemap(樹狀圖)

# pip install squarify import squarify # Import Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data df = df_raw.groupby('class').size().reset_index(name='counts') labels = df.apply(lambda x: str(x[0]) + "\n (" + str(x[1]) + ")", axis=1) sizes = df['counts'].values.tolist() colors = [plt.cm.Spectral(i/float(len(labels))) for i in range(len(labels))]# Draw Plot plt.figure(figsize=(12,8), dpi= 80) squarify.plot(sizes=sizes, label=labels, color=colors, alpha=.8)# Decorate plt.title('Treemap of Vechile Class') plt.axis('off') plt.show()


34. Bar Chart(條形圖)

條形圖是根據(jù)計(jì)數(shù)或任何給定指標(biāo)而可視化條目。在下面的圖表中,為每個(gè)條目使用了不同的顏色,但通常可能希望為所有條目選擇一種顏色,除非按組對它們進(jìn)行著色。顏色名稱存儲(chǔ)在all_colors下面的代碼中。可以通過設(shè)置color參數(shù)來更改條形的顏色。

import random# Import Data df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")# Prepare Data df = df_raw.groupby('manufacturer').size().reset_index(name='counts') n = df['manufacturer'].unique().__len__()+1 all_colors = list(plt.cm.colors.cnames.keys()) random.seed(100) c = random.choices(all_colors, k=n)# Plot Bars plt.figure(figsize=(16,10), dpi= 80) plt.bar(df['manufacturer'], df['counts'], color=c, width=.5) for i, val in enumerate(df['counts'].values):plt.text(i, val, float(val), horizontalalignment='center',verticalalignment='bottom', fontdict={'fontweight':500, 'size':12})# Decoration plt.gca().set_xticklabels(df['manufacturer'], rotation=60, horizontalalignment= 'right') plt.title("Number of Vehicles by Manaufacturers", fontsize=22) plt.ylabel('# Vehicles') plt.ylim(0, 45) plt.show()


Change

35. Time Series Plot(時(shí)間序列圖)

時(shí)間序列圖用于顯示給定度量隨時(shí)間變化的方式。在這里,可以看到1949年至1969年間航空客運(yùn)量的變化情況。

# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')# Draw Plot plt.figure(figsize=(16,10), dpi= 80) plt.plot('date', 'traffic', data=df, color='tab:red')# Decoration plt.ylim(50, 750) xtick_location = df.index.tolist()[::12] xtick_labels = [x[-4:] for x in df.date.tolist()[::12]] plt.xticks(ticks=xtick_location, labels=xtick_labels, rotation=0, fontsize=12, horizontalalignment='center', alpha=.7) plt.yticks(fontsize=12, alpha=.7) plt.title("Air Passengers Traffic (1949 - 1969)", fontsize=22) plt.grid(axis='both', alpha=.3)# Remove borders plt.gca().spines["top"].set_alpha(0.0) plt.gca().spines["bottom"].set_alpha(0.3) plt.gca().spines["right"].set_alpha(0.0) plt.gca().spines["left"].set_alpha(0.3) plt.show()


36. Time Series with Peaks and Troughs Annotated(帶波峰波谷標(biāo)記的時(shí)序圖

下面的時(shí)間序列繪制了所有的波峰和波谷,并注釋了所選特殊事件的發(fā)生。

# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')# Get the Peaks and Troughs data = df['traffic'].values doublediff = np.diff(np.sign(np.diff(data))) peak_locations = np.where(doublediff == -2)[0] + 1doublediff2 = np.diff(np.sign(np.diff(-1*data))) trough_locations = np.where(doublediff2 == -2)[0] + 1# Draw Plot plt.figure(figsize=(16,10), dpi= 80) plt.plot('date', 'traffic', data=df, color='tab:blue', label='Air Traffic') plt.scatter(df.date[peak_locations], df.traffic[peak_locations], marker=mpl.markers.CARETUPBASE, color='tab:green', s=100, label='Peaks') plt.scatter(df.date[trough_locations], df.traffic[trough_locations], marker=mpl.markers.CARETDOWNBASE, color='tab:red', s=100, label='Troughs')# Annotate for t, p in zip(trough_locations[1::5], peak_locations[::3]):plt.text(df.date[p], df.traffic[p]+15, df.date[p], horizontalalignment='center', color='darkgreen')plt.text(df.date[t], df.traffic[t]-35, df.date[t], horizontalalignment='center', color='darkred')# Decoration plt.ylim(50,750) xtick_location = df.index.tolist()[::6] xtick_labels = df.date.tolist()[::6] plt.xticks(ticks=xtick_location, labels=xtick_labels, rotation=90, fontsize=12, alpha=.7) plt.title("Peak and Troughs of Air Passengers Traffic (1949 - 1969)", fontsize=22) plt.yticks(fontsize=12, alpha=.7)# Lighten borders plt.gca().spines["top"].set_alpha(.0) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(.0) plt.gca().spines["left"].set_alpha(.3)plt.legend(loc='upper left') plt.grid(axis='y', alpha=.3) plt.show()


37. Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot(自相關(guān)和部分自相關(guān)圖

ACF圖顯示時(shí)間序列與其自身滯后的相關(guān)性。

PACF在另一方面顯示了任何給定滯后(時(shí)間序列)與當(dāng)前序列的自相關(guān),但是刪除了滯后的貢獻(xiàn)。

from statsmodels.graphics.tsaplots import plot_acf, plot_pacf# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')# Draw Plot fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(16,6), dpi= 80) plot_acf(df.traffic.tolist(), ax=ax1, lags=50) plot_pacf(df.traffic.tolist(), ax=ax2, lags=20)# Decorate # lighten the borders ax1.spines["top"].set_alpha(.3); ax2.spines["top"].set_alpha(.3) ax1.spines["bottom"].set_alpha(.3); ax2.spines["bottom"].set_alpha(.3) ax1.spines["right"].set_alpha(.3); ax2.spines["right"].set_alpha(.3) ax1.spines["left"].set_alpha(.3); ax2.spines["left"].set_alpha(.3)# font size of tick labels ax1.tick_params(axis='both', labelsize=12) ax2.tick_params(axis='both', labelsize=12) plt.show()


38. Cross Correlation plot(交叉相關(guān)圖)

互相關(guān)圖顯示了兩個(gè)時(shí)間序列相互之間的滯后。

import statsmodels.tsa.stattools as stattools# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/mortality.csv') x = df['mdeaths'] y = df['fdeaths']# Compute Cross Correlations ccs = stattools.ccf(x, y)[:100] nlags = len(ccs)# Compute the Significance level # ref: https://stats.stackexchange.com/questions/3115/cross-correlation-significance-in-r/3128#3128 conf_level = 2 / np.sqrt(nlags)# Draw Plot plt.figure(figsize=(12,7), dpi= 80)plt.hlines(0, xmin=0, xmax=100, color='gray') # 0 axis plt.hlines(conf_level, xmin=0, xmax=100, color='gray') plt.hlines(-conf_level, xmin=0, xmax=100, color='gray')plt.bar(x=np.arange(len(ccs)), height=ccs, width=.3)# Decoration plt.title('$Cross\; Correlation\; Plot:\; mdeaths\; vs\; fdeaths$', fontsize=22) plt.xlim(0,len(ccs)) plt.show()


39. Time Series Decomposition Plot(時(shí)間序列分解圖)

from statsmodels.tsa.seasonal import seasonal_decompose from dateutil.parser import parse# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv') dates = pd.DatetimeIndex([parse(d).strftime('%Y-%m-01') for d in df['date']]) df.set_index(dates, inplace=True)# Decompose result = seasonal_decompose(df['traffic'], model='multiplicative')# Plot plt.rcParams.update({'figure.figsize': (10,10)}) result.plot().suptitle('Time Series Decomposition of Air Passengers') plt.show()


40. Multiple Time Series(多時(shí)間序列)

可以繪制多個(gè)時(shí)間序列,如下所示。

# Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/mortality.csv')# Define the upper limit, lower limit, interval of Y axis and colors y_LL = 100 y_UL = int(df.iloc[:, 1:].max().max()*1.1) y_interval = 400 mycolors = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange'] # Draw Plot and Annotate fig, ax = plt.subplots(1,1,figsize=(16, 9), dpi= 80) columns = df.columns[1:] for i, column in enumerate(columns): plt.plot(df.date.values, df[column].values, lw=1.5, color=mycolors[i]) plt.text(df.shape[0]+1, df[column].values[-1], column, fontsize=14, color=mycolors[i])# Draw Tick lines for y in range(y_LL, y_UL, y_interval): plt.hlines(y, xmin=0, xmax=71, colors='black', alpha=0.3, linestyles="--", lw=0.5)# Decorations plt.tick_params(axis="both", which="both", bottom=False, top=False, labelbottom=True, left=False, right=False, labelleft=True) # Lighten borders plt.gca().spines["top"].set_alpha(.3) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(.3) plt.gca().spines["left"].set_alpha(.3)plt.title('Number of Deaths from Lung Diseases in the UK (1974-1979)', fontsize=22) plt.yticks(range(y_LL, y_UL, y_interval), [str(y) for y in range(y_LL, y_UL, y_interval)], fontsize=12) plt.xticks(range(0, df.shape[0], 12), df.date.values[::12], horizontalalignment='left', fontsize=12) plt.ylim(y_LL, y_UL) plt.xlim(-2, 80) plt.show()


41. Plotting with different scales using secondary Y axis(使用輔助Y軸來繪制不同范圍的圖形

如果要顯示在同一時(shí)間點(diǎn)測量兩個(gè)不同數(shù)量的兩個(gè)時(shí)間序列,則可以在右側(cè)的輔助Y軸上再繪制第二個(gè)系列。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/economics.csv")x = df['date'] y1 = df['psavert'] y2 = df['unemploy']# Plot Line1 (Left Y Axis) fig, ax1 = plt.subplots(1,1,figsize=(16,9), dpi= 80) ax1.plot(x, y1, color='tab:red')# Plot Line2 (Right Y Axis) ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis ax2.plot(x, y2, color='tab:blue')# Decorations # ax1 (left Y axis) ax1.set_xlabel('Year', fontsize=20) ax1.tick_params(axis='x', rotation=0, labelsize=12) ax1.set_ylabel('Personal Savings Rate', color='tab:red', fontsize=20) ax1.tick_params(axis='y', rotation=0, labelcolor='tab:red' ) ax1.grid(alpha=.4)# ax2 (right Y axis) ax2.set_ylabel("# Unemployed (1000's)", color='tab:blue', fontsize=20) ax2.tick_params(axis='y', labelcolor='tab:blue') ax2.set_xticks(np.arange(0, len(x), 60)) ax2.set_xticklabels(x[::60], rotation=90, fontdict={'fontsize':10}) ax2.set_title("Personal Savings Rate vs Unemployed: Plotting in Secondary Y Axis", fontsize=22) fig.tight_layout() plt.show()


42. Time Series with Error Bands(帶有誤差帶的時(shí)間序列)

from scipy.stats import sem# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/user_orders_hourofday.csv") df_mean = df.groupby('order_hour_of_day').quantity.mean() df_se = df.groupby('order_hour_of_day').quantity.apply(sem).mul(1.96)# Plot plt.figure(figsize=(16,10), dpi= 80) plt.ylabel("# Orders", fontsize=16) x = df_mean.index plt.plot(x, df_mean, color="white", lw=2) plt.fill_between(x, df_mean - df_se, df_mean + df_se, color="#3F5D7D") # Decorations # Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(1) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(1) plt.xticks(x[::2], [str(d) for d in x[::2]] , fontsize=12) plt.title("User Orders by Hour of Day (95% confidence)", fontsize=22) plt.xlabel("Hour of Day")s, e = plt.gca().get_xlim() plt.xlim(s, e)# Draw Horizontal Tick lines for y in range(8, 20, 2): plt.hlines(y, xmin=s, xmax=e, colors='black', alpha=0.5, linestyles="--", lw=0.5)plt.show()

"Data Source: https://www.kaggle.com/olistbr/brazilian-ecommerce#olist_orders_dataset.csv" from dateutil.parser import parse from scipy.stats import sem# Import Data df_raw = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/orders_45d.csv', parse_dates=['purchase_time', 'purchase_date'])# Prepare Data: Daily Mean and SE Bands df_mean = df_raw.groupby('purchase_date').quantity.mean() df_se = df_raw.groupby('purchase_date').quantity.apply(sem).mul(1.96)# Plot plt.figure(figsize=(16,10), dpi= 80) plt.ylabel("# Daily Orders", fontsize=16) x = [d.date().strftime('%Y-%m-%d') for d in df_mean.index] plt.plot(x, df_mean, color="white", lw=2) plt.fill_between(x, df_mean - df_se, df_mean + df_se, color="#3F5D7D") # Decorations # Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(1) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(1) plt.xticks(x[::6], [str(d) for d in x[::6]] , fontsize=12) plt.title("Daily Order Quantity of Brazilian Retail with Error Bands (95% confidence)", fontsize=20)# Axis limits s, e = plt.gca().get_xlim() plt.xlim(s, e-2) plt.ylim(4, 10)# Draw Horizontal Tick lines for y in range(5, 10, 1): plt.hlines(y, xmin=s, xmax=e, colors='black', alpha=0.5, linestyles="--", lw=0.5)plt.show()


43. Stacked Area Chart(堆積面積圖

堆積面積圖可以直觀地顯示多個(gè)時(shí)間序列的貢獻(xiàn)程度,因此可以輕松地相互比較。

# Import Data df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/nightvisitors.csv')# Decide Colors mycolors = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange', 'tab:brown', 'tab:grey', 'tab:pink', 'tab:olive'] # Draw Plot and Annotate fig, ax = plt.subplots(1,1,figsize=(16, 9), dpi= 80) columns = df.columns[1:] labs = columns.values.tolist()# Prepare data x = df['yearmon'].values.tolist() y0 = df[columns[0]].values.tolist() y1 = df[columns[1]].values.tolist() y2 = df[columns[2]].values.tolist() y3 = df[columns[3]].values.tolist() y4 = df[columns[4]].values.tolist() y5 = df[columns[5]].values.tolist() y6 = df[columns[6]].values.tolist() y7 = df[columns[7]].values.tolist() y = np.vstack([y0, y2, y4, y6, y7, y5, y1, y3])# Plot for each column labs = columns.values.tolist() ax = plt.gca() ax.stackplot(x, y, labels=labs, colors=mycolors, alpha=0.8)# Decorations ax.set_title('Night Visitors in Australian Regions', fontsize=18) ax.set(ylim=[0, 100000]) ax.legend(fontsize=10, ncol=4) plt.xticks(x[::5], fontsize=10, horizontalalignment='center') plt.yticks(np.arange(10000, 100000, 20000), fontsize=10) plt.xlim(x[0], x[-1])# Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(.3)plt.show()


44. Area Chart UnStacked(未堆積的面積圖

未堆積區(qū)域圖用于可視化兩個(gè)或更多個(gè)系列相對于彼此的進(jìn)度(起伏)。在下面的圖表中,您可以清楚地看到隨著失業(yè)中位數(shù)持續(xù)時(shí)間的增加,個(gè)人儲(chǔ)蓄率會(huì)下降。未堆積的區(qū)域圖表很好地揭示了這種現(xiàn)象。

# Import Data df = pd.read_csv("https://github.com/selva86/datasets/raw/master/economics.csv")# Prepare Data x = df['date'].values.tolist() y1 = df['psavert'].values.tolist() y2 = df['uempmed'].values.tolist() mycolors = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange', 'tab:brown', 'tab:grey', 'tab:pink', 'tab:olive'] columns = ['psavert', 'uempmed']# Draw Plot fig, ax = plt.subplots(1, 1, figsize=(16,9), dpi= 80) ax.fill_between(x, y1=y1, y2=0, label=columns[1], alpha=0.5, color=mycolors[1], linewidth=2) ax.fill_between(x, y1=y2, y2=0, label=columns[0], alpha=0.5, color=mycolors[0], linewidth=2)# Decorations ax.set_title('Personal Savings Rate vs Median Duration of Unemployment', fontsize=18) ax.set(ylim=[0, 30]) ax.legend(loc='best', fontsize=12) plt.xticks(x[::50], fontsize=10, horizontalalignment='center') plt.yticks(np.arange(2.5, 30.0, 2.5), fontsize=10) plt.xlim(-10, x[-1])# Draw Tick lines for y in np.arange(2.5, 30.0, 2.5): plt.hlines(y, xmin=0, xmax=len(x), colors='black', alpha=0.3, linestyles="--", lw=0.5)# Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(.3) plt.show()


45. Calendar Heat Map(日歷熱力圖

與時(shí)間序列圖相比,日歷熱力圖是基于時(shí)間的數(shù)據(jù)可視化的備選項(xiàng)。雖然可以在視覺上吸引人,但數(shù)值并不十分明顯。然而,它可以很好地描繪極端值和假日效果。

import matplotlib as mpl import calmap# Import Data df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/yahoo.csv", parse_dates=['date']) df.set_index('date', inplace=True)# Plot plt.figure(figsize=(16,10), dpi= 80) calmap.calendarplot(df['2014']['VIX.Close'], fig_kws={'figsize': (16,10)}, yearlabel_kws={'color':'black', 'fontsize':14}, subplot_kws={'title':'Yahoo Stock Prices'}) plt.show()


46. Seasonal Plot(季度圖)

from dateutil.parser import parse # Import Data df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')# Prepare data df['year'] = [parse(d).year for d in df.date] df['month'] = [parse(d).strftime('%b') for d in df.date] years = df['year'].unique()# Draw Plot mycolors = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange', 'tab:brown', 'tab:grey', 'tab:pink', 'tab:olive', 'deeppink', 'steelblue', 'firebrick', 'mediumseagreen'] plt.figure(figsize=(16,10), dpi= 80)for i, y in enumerate(years):plt.plot('month', 'traffic', data=df.loc[df.year==y, :], color=mycolors[i], label=y)plt.text(df.loc[df.year==y, :].shape[0]-.9,df.loc[df.year==y, 'traffic'][-1:].values[0], y, fontsize=12, color=mycolors[i])# Decoration plt.ylim(50,750) plt.xlim(-0.3, 11) plt.ylabel('$Air Traffic$') plt.yticks(fontsize=12, alpha=.7) plt.title("Monthly Seasonal Plot: Air Passengers Traffic (1949 - 1969)", fontsize=22) plt.grid(axis='y', alpha=.3)# Remove borders plt.gca().spines["top"].set_alpha(0.0) plt.gca().spines["bottom"].set_alpha(0.5) plt.gca().spines["right"].set_alpha(0.0) plt.gca().spines["left"].set_alpha(0.5) # plt.legend(loc='upper right', ncol=2, fontsize=12) plt.show()


Groups

47. Dendrogram(樹狀圖)

樹形圖基于給定的距離度量將相似的點(diǎn)組合在一起,并基于點(diǎn)的相似性將它們組織在樹狀鏈接中。

import scipy.cluster.hierarchy as shc# Import Data df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv')# Plot plt.figure(figsize=(16, 10), dpi= 80) plt.title("USArrests Dendograms", fontsize=22) dend = shc.dendrogram(shc.linkage(df[['Murder', 'Assault', 'UrbanPop', 'Rape']], method='ward'), labels=df.State.values, color_threshold=100) plt.xticks(fontsize=12) plt.show()


48. Cluster Plot(簇狀圖)

Cluster Plot可用于劃分屬于同一群集的點(diǎn)。下面是根據(jù)USArrests數(shù)據(jù)集將美國各州分為5組的代表性示例。該集群圖使用“謀殺”和“攻擊”列作為X和Y軸。或者,您可以將第一個(gè)到主要組件用作X軸和Y軸。

from sklearn.cluster import AgglomerativeClustering from scipy.spatial import ConvexHull# Import Data df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv')# Agglomerative Clustering cluster = AgglomerativeClustering(n_clusters=5, affinity='euclidean', linkage='ward') cluster.fit_predict(df[['Murder', 'Assault', 'UrbanPop', 'Rape']]) # Plot plt.figure(figsize=(14, 10), dpi= 80) plt.scatter(df.iloc[:,0], df.iloc[:,1], c=cluster.labels_, cmap='tab10') # Encircle def encircle(x,y, ax=None, **kw):if not ax: ax=plt.gca()p = np.c_[x,y]hull = ConvexHull(p)poly = plt.Polygon(p[hull.vertices,:], **kw)ax.add_patch(poly)# Draw polygon surrounding vertices encircle(df.loc[cluster.labels_ == 0, 'Murder'], df.loc[cluster.labels_ == 0, 'Assault'], ec="k",fc="gold", alpha=0.2, linewidth=0) encircle(df.loc[cluster.labels_ == 1, 'Murder'], df.loc[cluster.labels_ == 1, 'Assault'], ec="k", fc="tab:blue", alpha=0.2, linewidth=0) encircle(df.loc[cluster.labels_ == 2, 'Murder'], df.loc[cluster.labels_ == 2, 'Assault'], ec="k", fc="tab:red", alpha=0.2, linewidth=0) encircle(df.loc[cluster.labels_ == 3, 'Murder'], df.loc[cluster.labels_ == 3, 'Assault'], ec="k", fc="tab:green", alpha=0.2, linewidth=0) encircle(df.loc[cluster.labels_ == 4, 'Murder'], df.loc[cluster.labels_ == 4, 'Assault'], ec="k", fc="tab:orange", alpha=0.2, linewidth=0)# Decorations plt.xlabel('Murder'); plt.xticks(fontsize=12) plt.ylabel('Assault'); plt.yticks(fontsize=12) plt.title('Agglomerative Clustering of USArrests (5 Groups)', fontsize=22) plt.show()


49. Andrews Curve(安德魯斯曲線

安德魯斯曲線有助于可視化是否存在基于給定分組的數(shù)字特征的固有分組。如果功能(數(shù)據(jù)集中的列)無法區(qū)分組(cyl)那么線條將不會(huì)很好地隔離,如下所示。

from pandas.plotting import andrews_curves# Import df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") df.drop(['cars', 'carname'], axis=1, inplace=True)# Plot plt.figure(figsize=(12,9), dpi= 80) andrews_curves(df, 'cyl', colormap='Set1')# Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(.3)plt.title('Andrews Curves of mtcars', fontsize=22) plt.xlim(-3,3) plt.grid(alpha=0.3) plt.xticks(fontsize=12) plt.yticks(fontsize=12) plt.show()


50. Parallel Coordinates(平行坐標(biāo)

平行坐標(biāo)有助于可視化特征是否有助于有效地隔離組。如果實(shí)現(xiàn)隔離,則該特征可能在預(yù)測該組時(shí)非常有用。

from pandas.plotting import parallel_coordinates# Import Data df_final = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/diamonds_filter.csv")# Plot plt.figure(figsize=(12,9), dpi= 80) parallel_coordinates(df_final, 'cut', colormap='Dark2')# Lighten borders plt.gca().spines["top"].set_alpha(0) plt.gca().spines["bottom"].set_alpha(.3) plt.gca().spines["right"].set_alpha(0) plt.gca().spines["left"].set_alpha(.3)plt.title('Parallel Coordinated of Diamonds', fontsize=22) plt.grid(alpha=0.3) plt.xticks(fontsize=12) plt.yticks(fontsize=12) plt.show()

?

總結(jié)

以上是生活随笔為你收集整理的50个最有用的Matplotlib数据分析与可视化图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲色成人中文字幕网站 | 中文字幕无码乱人伦 | 亚洲一区二区观看播放 | 成 人 网 站国产免费观看 | 国产舌乚八伦偷品w中 | 人妻少妇精品久久 | 女人和拘做爰正片视频 | 国产av剧情md精品麻豆 | 麻豆国产丝袜白领秘书在线观看 | 久久人人爽人人爽人人片av高清 | 欧美日韩久久久精品a片 | 丝袜美腿亚洲一区二区 | 又色又爽又黄的美女裸体网站 | 精品国产av色一区二区深夜久久 | 亚洲人成无码网www | 中文字幕无码视频专区 | 好男人社区资源 | 精品久久久无码人妻字幂 | av无码电影一区二区三区 | 免费无码肉片在线观看 | 色婷婷综合中文久久一本 | 久久精品国产99久久6动漫 | 亚洲国产午夜精品理论片 | 色婷婷综合激情综在线播放 | 国产精品国产自线拍免费软件 | 国产偷抇久久精品a片69 | 真人与拘做受免费视频 | 澳门永久av免费网站 | 色五月丁香五月综合五月 | 99麻豆久久久国产精品免费 | 在线 国产 欧美 亚洲 天堂 | 亚洲人交乣女bbw | 中文字幕人妻无码一夲道 | 欧美丰满熟妇xxxx性ppx人交 | 成人免费视频在线观看 | 麻豆国产丝袜白领秘书在线观看 | 国产成人精品三级麻豆 | 久在线观看福利视频 | 草草网站影院白丝内射 | 日本免费一区二区三区最新 | 青青青手机频在线观看 | 国产熟女一区二区三区四区五区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产人妻人伦精品 | 欧美丰满老熟妇xxxxx性 | 国产亚洲精品久久久久久国模美 | 男女作爱免费网站 | 亚洲а∨天堂久久精品2021 | 日韩精品成人一区二区三区 | 色欲久久久天天天综合网精品 | 日韩精品成人一区二区三区 | 国产精品久久久久久亚洲影视内衣 | 久久精品人妻少妇一区二区三区 | 一本大道久久东京热无码av | aⅴ在线视频男人的天堂 | 女人和拘做爰正片视频 | 亚洲中文字幕av在天堂 | 亚洲欧美日韩成人高清在线一区 | 国产亚洲精品久久久久久大师 | 精品国产精品久久一区免费式 | 少妇被黑人到高潮喷出白浆 | 国产免费无码一区二区视频 | 暴力强奷在线播放无码 | 国产猛烈高潮尖叫视频免费 | 麻豆国产人妻欲求不满谁演的 | 人人妻人人澡人人爽人人精品浪潮 | 夜夜影院未满十八勿进 | 中国女人内谢69xxxxxa片 | 国产成人无码区免费内射一片色欲 | 色综合久久网 | 日韩精品乱码av一区二区 | 亚洲国产精品久久久久久 | 国产真人无遮挡作爱免费视频 | 性开放的女人aaa片 | 在线a亚洲视频播放在线观看 | 国产香蕉尹人综合在线观看 | 中文字幕 人妻熟女 | 欧美 日韩 人妻 高清 中文 | 丝袜 中出 制服 人妻 美腿 | 88国产精品欧美一区二区三区 | 亚洲成在人网站无码天堂 | 亚洲天堂2017无码 | 国产激情一区二区三区 | 欧美日韩精品 | 久久久国产一区二区三区 | 亚洲国产成人a精品不卡在线 | 国产深夜福利视频在线 | 成人性做爰aaa片免费看不忠 | 中文字幕无码日韩欧毛 | 午夜无码人妻av大片色欲 | 日韩精品无码一区二区中文字幕 | 国产精品高潮呻吟av久久4虎 | 一本大道久久东京热无码av | 久久久亚洲欧洲日产国码αv | 欧美日本日韩 | 日本www一道久久久免费榴莲 | 18精品久久久无码午夜福利 | 中文字幕人妻无码一区二区三区 | 中文字幕人妻无码一区二区三区 | 曰韩少妇内射免费播放 | 亚洲色大成网站www国产 | 亚洲日本一区二区三区在线 | 国产精品亚洲а∨无码播放麻豆 | 中文字幕无码日韩专区 | 亚洲中文字幕乱码av波多ji | 人妻无码αv中文字幕久久琪琪布 | 美女极度色诱视频国产 | av人摸人人人澡人人超碰下载 | 国产av剧情md精品麻豆 | 青青青爽视频在线观看 | 国产97色在线 | 免 | 人妻少妇精品无码专区动漫 | 99久久久无码国产精品免费 | 在线 国产 欧美 亚洲 天堂 | 亚洲成av人在线观看网址 | 国产乱子伦视频在线播放 | 国产精品爱久久久久久久 | 精品一二三区久久aaa片 | 亚洲国产欧美日韩精品一区二区三区 | 国产成人无码av在线影院 | 香蕉久久久久久av成人 | 久久综合香蕉国产蜜臀av | 精品久久久久香蕉网 | a在线观看免费网站大全 | 国产成人精品优优av | 精品亚洲成av人在线观看 | 国产av一区二区三区最新精品 | 免费中文字幕日韩欧美 | 日韩成人一区二区三区在线观看 | 白嫩日本少妇做爰 | 蜜臀av在线播放 久久综合激激的五月天 | 久久99精品久久久久久 | 好男人社区资源 | 97精品人妻一区二区三区香蕉 | 少妇高潮一区二区三区99 | 国产超级va在线观看视频 | 小泽玛莉亚一区二区视频在线 | 乱码av麻豆丝袜熟女系列 | 一个人看的视频www在线 | 天堂无码人妻精品一区二区三区 | 久久人人爽人人人人片 | 成人女人看片免费视频放人 | 欧美 日韩 亚洲 在线 | 亚洲s码欧洲m码国产av | 国产av人人夜夜澡人人爽麻豆 | 国产精品亚洲一区二区三区喷水 | 国产成人av免费观看 | 国精产品一区二区三区 | 婷婷五月综合激情中文字幕 | 久久成人a毛片免费观看网站 | 久在线观看福利视频 | 性色欲情网站iwww九文堂 | 国产精品久久久久无码av色戒 | 欧美成人高清在线播放 | 午夜精品久久久久久久久 | 国产真实伦对白全集 | 久久久久成人片免费观看蜜芽 | 日韩在线不卡免费视频一区 | 亚洲精品国产精品乱码视色 | 亚洲伊人久久精品影院 | 国产人妻精品一区二区三区 | 国产舌乚八伦偷品w中 | 久久亚洲精品中文字幕无男同 | 欧美国产日韩久久mv | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久99精品国产麻豆蜜芽 | 国产乡下妇女做爰 | aⅴ亚洲 日韩 色 图网站 播放 | 中文字幕人成乱码熟女app | 97精品国产97久久久久久免费 | 久久久久免费看成人影片 | 日韩视频 中文字幕 视频一区 | 九九热爱视频精品 | 亚洲日韩av一区二区三区四区 | 女人和拘做爰正片视频 | 装睡被陌生人摸出水好爽 | 野狼第一精品社区 | 久久久久亚洲精品男人的天堂 | 麻豆国产人妻欲求不满谁演的 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 3d动漫精品啪啪一区二区中 | 亚洲日韩一区二区 | 欧美野外疯狂做受xxxx高潮 | 露脸叫床粗话东北少妇 | 性欧美牲交xxxxx视频 | 国产乱码精品一品二品 | 玩弄中年熟妇正在播放 | 内射老妇bbwx0c0ck | 狂野欧美性猛xxxx乱大交 | 国产免费无码一区二区视频 | 亚洲精品一区三区三区在线观看 | 国产精品99久久精品爆乳 | 精品无码国产自产拍在线观看蜜 | 日日摸天天摸爽爽狠狠97 | 午夜精品一区二区三区在线观看 | 又大又硬又黄的免费视频 | 国产内射爽爽大片视频社区在线 | 少妇无码吹潮 | 亚洲人成人无码网www国产 | 少妇无码av无码专区在线观看 | 亚洲热妇无码av在线播放 | 人人澡人摸人人添 | 在线精品国产一区二区三区 | 成人亚洲精品久久久久 | 国产精品igao视频网 | 丰腴饱满的极品熟妇 | 内射白嫩少妇超碰 | 亚洲 日韩 欧美 成人 在线观看 | 300部国产真实乱 | 日欧一片内射va在线影院 | 狠狠综合久久久久综合网 | 嫩b人妻精品一区二区三区 | 天天爽夜夜爽夜夜爽 | 国产成人午夜福利在线播放 | 99麻豆久久久国产精品免费 | 国产精品资源一区二区 | 欧美色就是色 | 性做久久久久久久免费看 | 亚洲中文字幕乱码av波多ji | 国产激情精品一区二区三区 | 人人澡人摸人人添 | 一区二区三区乱码在线 | 欧洲 | 久久亚洲中文字幕精品一区 | 亚洲啪av永久无码精品放毛片 | 久久国产精品精品国产色婷婷 | 图片区 小说区 区 亚洲五月 | 亚洲国产精品一区二区第一页 | 亚洲日韩一区二区三区 | 国产精品丝袜黑色高跟鞋 | 樱花草在线社区www | 成人影院yy111111在线观看 | 少妇无码一区二区二三区 | 久久久精品456亚洲影院 | 99久久精品国产一区二区蜜芽 | 99久久久无码国产精品免费 | 全球成人中文在线 | 亚洲成在人网站无码天堂 | 亚洲狠狠色丁香婷婷综合 | 欧美国产日韩久久mv | 日韩亚洲欧美精品综合 | 国产一区二区三区日韩精品 | 久久国产自偷自偷免费一区调 | av在线亚洲欧洲日产一区二区 | 国产电影无码午夜在线播放 | 中文字幕av日韩精品一区二区 | 四虎4hu永久免费 | 国产精品免费大片 | 国产小呦泬泬99精品 | 中国女人内谢69xxxxxa片 | 377p欧洲日本亚洲大胆 | 蜜桃臀无码内射一区二区三区 | 日韩视频 中文字幕 视频一区 | 乌克兰少妇xxxx做受 | 国产成人精品一区二区在线小狼 | 国产精品无码一区二区三区不卡 | 色欲久久久天天天综合网精品 | 俺去俺来也在线www色官网 | 在线观看欧美一区二区三区 | 国产精品办公室沙发 | 蜜桃视频韩日免费播放 | 午夜福利不卡在线视频 | 丰满人妻一区二区三区免费视频 | 国产精品99爱免费视频 | 日本护士毛茸茸高潮 | 无码人妻精品一区二区三区下载 | 中文字幕人成乱码熟女app | 九九在线中文字幕无码 | 天天躁日日躁狠狠躁免费麻豆 | 玩弄少妇高潮ⅹxxxyw | 鲁大师影院在线观看 | 国产三级久久久精品麻豆三级 | 国产艳妇av在线观看果冻传媒 | 亚洲中文字幕av在天堂 | 国产猛烈高潮尖叫视频免费 | 亚洲啪av永久无码精品放毛片 | 日韩视频 中文字幕 视频一区 | 狠狠综合久久久久综合网 | 国产九九九九九九九a片 | 成人亚洲精品久久久久 | 国产内射爽爽大片视频社区在线 | 国产精品理论片在线观看 | 国产九九九九九九九a片 | 女人高潮内射99精品 | 精品一区二区不卡无码av | 最新国产麻豆aⅴ精品无码 | 国产午夜手机精彩视频 | 欧美 丝袜 自拍 制服 另类 | 亚洲乱码日产精品bd | 伊人色综合久久天天小片 | 精品国产av色一区二区深夜久久 | 国产成人午夜福利在线播放 | 99久久人妻精品免费一区 | 东京热一精品无码av | 99在线 | 亚洲 | 动漫av网站免费观看 | 中文字幕乱码人妻二区三区 | 国产亚洲精品久久久久久 | 国产一精品一av一免费 | 一二三四在线观看免费视频 | 成人欧美一区二区三区黑人免费 | 成人性做爰aaa片免费看不忠 | 亚洲一区二区观看播放 | 亚洲区欧美区综合区自拍区 | 亚洲熟熟妇xxxx | 97夜夜澡人人爽人人喊中国片 | 正在播放老肥熟妇露脸 | 99精品国产综合久久久久五月天 | 亚洲精品国产第一综合99久久 | 377p欧洲日本亚洲大胆 | 日本一卡2卡3卡四卡精品网站 | 97人妻精品一区二区三区 | 日本欧美一区二区三区乱码 | 中文字幕人妻无码一夲道 | 国产精品久久久久9999小说 | 漂亮人妻洗澡被公强 日日躁 | 精品熟女少妇av免费观看 | 日本精品人妻无码免费大全 | 成人片黄网站色大片免费观看 | 国产精品久久久久影院嫩草 | yw尤物av无码国产在线观看 | 午夜熟女插插xx免费视频 | 久9re热视频这里只有精品 | 成人免费无码大片a毛片 | 亚洲色大成网站www国产 | 成人动漫在线观看 | 国产成人无码av片在线观看不卡 | 亚洲精品午夜国产va久久成人 | 欧美放荡的少妇 | 人妻熟女一区 | 国产成人精品一区二区在线小狼 | aa片在线观看视频在线播放 | 永久黄网站色视频免费直播 | 国产尤物精品视频 | 亚洲国产精品久久久久久 | 久久无码中文字幕免费影院蜜桃 | 无码人妻丰满熟妇区五十路百度 | 漂亮人妻洗澡被公强 日日躁 | 东京热无码av男人的天堂 | 色欲人妻aaaaaaa无码 | 无码国内精品人妻少妇 | 欧美猛少妇色xxxxx | av无码久久久久不卡免费网站 | 久久久久亚洲精品中文字幕 | 午夜福利电影 | 99久久精品国产一区二区蜜芽 | 牲欲强的熟妇农村老妇女视频 | 国产成人一区二区三区别 | 日欧一片内射va在线影院 | 欧美日韩一区二区综合 | 精品一区二区三区无码免费视频 | 国产小呦泬泬99精品 | 成人亚洲精品久久久久 | 国产亚洲人成在线播放 | 人人妻人人澡人人爽精品欧美 | 色欲久久久天天天综合网精品 | 色一情一乱一伦一区二区三欧美 | 婷婷五月综合缴情在线视频 | 天堂久久天堂av色综合 | 无码成人精品区在线观看 | 中文字幕无码人妻少妇免费 | 亚洲中文字幕av在天堂 | 久久成人a毛片免费观看网站 | 国产午夜无码精品免费看 | 久久精品无码一区二区三区 | 少妇高潮一区二区三区99 | 亚洲天堂2017无码 | 麻豆国产丝袜白领秘书在线观看 | 5858s亚洲色大成网站www | 精品国产av色一区二区深夜久久 | 欧美人与禽猛交狂配 | 国产性生交xxxxx无码 | 少妇性l交大片欧洲热妇乱xxx | 亚洲自偷精品视频自拍 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 思思久久99热只有频精品66 | 狂野欧美性猛交免费视频 | 亚洲综合在线一区二区三区 | 亚洲精品国产精品乱码视色 | 色一情一乱一伦一区二区三欧美 | 人妻熟女一区 | av无码不卡在线观看免费 | 97资源共享在线视频 | 国产舌乚八伦偷品w中 | 国产精品第一国产精品 | 成人影院yy111111在线观看 | 粗大的内捧猛烈进出视频 | 99久久精品午夜一区二区 | 天干天干啦夜天干天2017 | 色综合久久久无码网中文 | 久久综合九色综合97网 | 亚洲人成人无码网www国产 | 国产免费久久久久久无码 | 久久熟妇人妻午夜寂寞影院 | 中文字幕无线码免费人妻 | 午夜肉伦伦影院 | 国产xxx69麻豆国语对白 | 国内丰满熟女出轨videos | 久久久成人毛片无码 | 国产凸凹视频一区二区 | 丝袜足控一区二区三区 | 亚洲欧美日韩综合久久久 | 亚洲va欧美va天堂v国产综合 | 无码人妻丰满熟妇区五十路百度 | 动漫av一区二区在线观看 | 国产成人无码专区 | 无码帝国www无码专区色综合 | 国产熟妇高潮叫床视频播放 | aⅴ亚洲 日韩 色 图网站 播放 | 少妇性俱乐部纵欲狂欢电影 | 色一情一乱一伦 | 欧美成人高清在线播放 | 丰满肥臀大屁股熟妇激情视频 | 欧美丰满熟妇xxxx | 97精品国产97久久久久久免费 | 成人亚洲精品久久久久软件 | 荫蒂添的好舒服视频囗交 | www国产精品内射老师 | 亚洲精品午夜无码电影网 | 一二三四在线观看免费视频 | 亚洲毛片av日韩av无码 | 久久久国产精品无码免费专区 | 成人无码精品1区2区3区免费看 | 亚洲欧美日韩综合久久久 | 免费国产成人高清在线观看网站 | 超碰97人人做人人爱少妇 | 国产av久久久久精东av | 激情内射亚州一区二区三区爱妻 | 51国偷自产一区二区三区 | 久久久精品欧美一区二区免费 | 欧美激情一区二区三区成人 | 激情人妻另类人妻伦 | 色 综合 欧美 亚洲 国产 | 亚洲日本va中文字幕 | 丁香花在线影院观看在线播放 | 国产欧美熟妇另类久久久 | 国产精品igao视频网 | 欧美喷潮久久久xxxxx | 欧美日韩一区二区免费视频 | 久久久久av无码免费网 | 扒开双腿吃奶呻吟做受视频 | 激情国产av做激情国产爱 | 日韩亚洲欧美中文高清在线 | 精品国产一区二区三区四区在线看 | 国产xxx69麻豆国语对白 | 亚洲综合在线一区二区三区 | 亚洲成a人片在线观看日本 | 亚洲精品鲁一鲁一区二区三区 | 久久精品人人做人人综合试看 | 国产精品无码一区二区桃花视频 | 精品日本一区二区三区在线观看 | 亚洲天堂2017无码中文 | 国产av一区二区三区最新精品 | 国产精品va在线观看无码 | 福利一区二区三区视频在线观看 | 999久久久国产精品消防器材 | 国产亚洲人成在线播放 | 中文字幕人妻丝袜二区 | 未满成年国产在线观看 | 欧美国产日韩亚洲中文 | 亚洲色www成人永久网址 | 日韩精品久久久肉伦网站 | 欧美国产日产一区二区 | 亚洲综合另类小说色区 | 亚洲经典千人经典日产 | 国产精品永久免费视频 | 人妻无码αv中文字幕久久琪琪布 | 日日摸天天摸爽爽狠狠97 | 人妻少妇精品久久 | 久久久久亚洲精品男人的天堂 | 欧美老妇交乱视频在线观看 | 亚洲国产av精品一区二区蜜芽 | 亚洲gv猛男gv无码男同 | 在线观看免费人成视频 | 久久久成人毛片无码 | 人妻尝试又大又粗久久 | 无码毛片视频一区二区本码 | 中文字幕无码人妻少妇免费 | 亚洲欧美日韩成人高清在线一区 | 呦交小u女精品视频 | 国产在线精品一区二区高清不卡 | 日韩av无码一区二区三区 | 国产av一区二区精品久久凹凸 | 熟妇人妻无乱码中文字幕 | 无码av中文字幕免费放 | 人人爽人人爽人人片av亚洲 | 动漫av网站免费观看 | 久久精品中文闷骚内射 | 国产性生大片免费观看性 | 日韩视频 中文字幕 视频一区 | 欧美肥老太牲交大战 | а√资源新版在线天堂 | 无码免费一区二区三区 | 免费国产成人高清在线观看网站 | 男女性色大片免费网站 | 131美女爱做视频 | 人人爽人人澡人人人妻 | 久久久婷婷五月亚洲97号色 | 动漫av一区二区在线观看 | 欧美喷潮久久久xxxxx | 麻花豆传媒剧国产免费mv在线 | 成人欧美一区二区三区 | 97久久超碰中文字幕 | 内射欧美老妇wbb | 亚洲综合无码一区二区三区 | 亚洲乱码国产乱码精品精 | 日本肉体xxxx裸交 | 国产一区二区三区日韩精品 | 女人色极品影院 | 亚洲综合无码一区二区三区 | 国内老熟妇对白xxxxhd | 精品aⅴ一区二区三区 | 国产在线精品一区二区高清不卡 | 少妇性l交大片 | 国产绳艺sm调教室论坛 | 国内综合精品午夜久久资源 | 免费无码av一区二区 | 亚洲成a人片在线观看日本 | 国产精品久久久久影院嫩草 | 桃花色综合影院 | 一本色道婷婷久久欧美 | a国产一区二区免费入口 | 欧洲美熟女乱又伦 | 国产人妻大战黑人第1集 | 天天av天天av天天透 | 成人综合网亚洲伊人 | 日韩无套无码精品 | 亚洲熟悉妇女xxx妇女av | 久久久中文字幕日本无吗 | 精品无码国产一区二区三区av | 亚洲一区av无码专区在线观看 | 曰韩少妇内射免费播放 | 国产三级久久久精品麻豆三级 | 精品少妇爆乳无码av无码专区 | 无码人妻黑人中文字幕 | aⅴ亚洲 日韩 色 图网站 播放 | 97资源共享在线视频 | 乱中年女人伦av三区 | 欧美35页视频在线观看 | 久久久久久a亚洲欧洲av冫 | 亚洲日韩一区二区三区 | 国产精品久免费的黄网站 | 亚洲中文字幕在线无码一区二区 | 人人妻在人人 | 精品一区二区不卡无码av | 日本肉体xxxx裸交 | 国产 浪潮av性色四虎 | 最新国产麻豆aⅴ精品无码 | 久久久精品456亚洲影院 | 久久亚洲精品中文字幕无男同 | 精品厕所偷拍各类美女tp嘘嘘 | 波多野结衣一区二区三区av免费 | 久久久国产精品无码免费专区 | 亚洲精品鲁一鲁一区二区三区 | 国产精品va在线观看无码 | 国产精品久久久久7777 | 国产亚洲精品久久久ai换 | 天天综合网天天综合色 | 亚洲成在人网站无码天堂 | 少妇邻居内射在线 | 亚洲 欧美 激情 小说 另类 | 色综合久久久久综合一本到桃花网 | 免费无码一区二区三区蜜桃大 | 乌克兰少妇xxxx做受 | 国产精品丝袜黑色高跟鞋 | 无人区乱码一区二区三区 | 国产精品久久久av久久久 | 色偷偷人人澡人人爽人人模 | 丰满少妇弄高潮了www | 纯爱无遮挡h肉动漫在线播放 | 蜜桃视频韩日免费播放 | 欧美日韩亚洲国产精品 | 亚洲午夜福利在线观看 | 装睡被陌生人摸出水好爽 | 天天摸天天碰天天添 | 亚洲日韩av一区二区三区四区 | 国产成人精品优优av | 妺妺窝人体色www在线小说 | 亚洲一区二区三区 | 国产精品免费大片 | 国产国语老龄妇女a片 | 夜夜影院未满十八勿进 | 国产成人精品一区二区在线小狼 | 婷婷色婷婷开心五月四房播播 | 秋霞成人午夜鲁丝一区二区三区 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲成熟女人毛毛耸耸多 | 领导边摸边吃奶边做爽在线观看 | 久久午夜无码鲁丝片午夜精品 | 九九在线中文字幕无码 | 六十路熟妇乱子伦 | 久久99精品久久久久久动态图 | 精品久久久无码中文字幕 | 国内综合精品午夜久久资源 | 久久久精品欧美一区二区免费 | 亚洲国产午夜精品理论片 | 久久精品丝袜高跟鞋 | 色一情一乱一伦一视频免费看 | 久久国产精品萌白酱免费 | 国产又粗又硬又大爽黄老大爷视 | 精品成在人线av无码免费看 | 人人爽人人澡人人人妻 | 日本护士毛茸茸高潮 | 色婷婷综合激情综在线播放 | 偷窥村妇洗澡毛毛多 | 欧美 丝袜 自拍 制服 另类 | 色综合久久久无码中文字幕 | 久久成人a毛片免费观看网站 | 奇米影视888欧美在线观看 | 亚无码乱人伦一区二区 | 亚洲无人区午夜福利码高清完整版 | 国产人妖乱国产精品人妖 | 亚洲精品国偷拍自产在线麻豆 | 欧美日韩在线亚洲综合国产人 | 久精品国产欧美亚洲色aⅴ大片 | 精品久久久无码人妻字幂 | 少妇人妻大乳在线视频 | 亚洲精品中文字幕乱码 | 久久精品国产亚洲精品 | 亚洲性无码av中文字幕 | 久久午夜无码鲁丝片秋霞 | 日本xxxx色视频在线观看免费 | 在线观看免费人成视频 | 国产精品毛多多水多 | 国产精品久久久久无码av色戒 | 亚洲人成无码网www | 性做久久久久久久久 | 无码人妻少妇伦在线电影 | 亚洲综合伊人久久大杳蕉 | 精品乱码久久久久久久 | 天堂а√在线地址中文在线 | 国产sm调教视频在线观看 | 色情久久久av熟女人妻网站 | 日本一区二区三区免费播放 | 无码纯肉视频在线观看 | 成人欧美一区二区三区 | 欧美真人作爱免费视频 | 狠狠色丁香久久婷婷综合五月 | 熟妇激情内射com | 国产精品久久久久影院嫩草 | 中文字幕人妻无码一夲道 | 亚洲人交乣女bbw | 四十如虎的丰满熟妇啪啪 | 免费人成在线视频无码 | 精品国偷自产在线 | 永久免费观看美女裸体的网站 | 国产亚洲视频中文字幕97精品 | 在线看片无码永久免费视频 | 国产热a欧美热a在线视频 | 国产乱人无码伦av在线a | 国产综合久久久久鬼色 | 老太婆性杂交欧美肥老太 | 色五月五月丁香亚洲综合网 | 亚洲の无码国产の无码步美 | 久久久无码中文字幕久... | 国产激情艳情在线看视频 | 亚洲日本va午夜在线电影 | 精品一区二区三区无码免费视频 | 国产午夜无码精品免费看 | 亚洲aⅴ无码成人网站国产app | 日韩 欧美 动漫 国产 制服 | 国产精品亚洲专区无码不卡 | 波多野结衣高清一区二区三区 | 国语精品一区二区三区 | 亚洲国产精品一区二区第一页 | 亚洲精品国产a久久久久久 | v一区无码内射国产 | 日韩av激情在线观看 | 国产又粗又硬又大爽黄老大爷视 | 日日摸夜夜摸狠狠摸婷婷 | 成人精品视频一区二区三区尤物 | 国产艳妇av在线观看果冻传媒 | 2019午夜福利不卡片在线 | 色欲av亚洲一区无码少妇 | 性欧美牲交在线视频 | 老太婆性杂交欧美肥老太 | 国产av无码专区亚洲a∨毛片 | 东京热无码av男人的天堂 | 成人无码视频在线观看网站 | 又湿又紧又大又爽a视频国产 | 三级4级全黄60分钟 | 亚洲欧洲无卡二区视頻 | 日本爽爽爽爽爽爽在线观看免 | av无码久久久久不卡免费网站 | 亚洲精品欧美二区三区中文字幕 | 男女下面进入的视频免费午夜 | 狠狠躁日日躁夜夜躁2020 | 女人高潮内射99精品 | 疯狂三人交性欧美 | 色一情一乱一伦一区二区三欧美 | 成人无码精品一区二区三区 | 欧美丰满老熟妇xxxxx性 | 中文字幕无码人妻少妇免费 | 99久久精品无码一区二区毛片 | 国产成人一区二区三区别 | 日欧一片内射va在线影院 | 久久久久久久久888 | 搡女人真爽免费视频大全 | 麻豆精产国品 | 欧美老妇交乱视频在线观看 | 日日躁夜夜躁狠狠躁 | 国产亲子乱弄免费视频 | 国产精品-区区久久久狼 | 久久久久久a亚洲欧洲av冫 | 色婷婷香蕉在线一区二区 | 成人亚洲精品久久久久 | 色欲av亚洲一区无码少妇 | 青草青草久热国产精品 | 一本久久a久久精品亚洲 | 一个人免费观看的www视频 | 国产亚洲视频中文字幕97精品 | 亚洲成熟女人毛毛耸耸多 | 狠狠亚洲超碰狼人久久 | 性色欲网站人妻丰满中文久久不卡 | 精品国精品国产自在久国产87 | 清纯唯美经典一区二区 | 亚洲精品成a人在线观看 | 亚洲成av人综合在线观看 | 精品国产av色一区二区深夜久久 | 久久综合给合久久狠狠狠97色 | 亚洲日韩av片在线观看 | 亚洲欧美日韩国产精品一区二区 | 一本大道久久东京热无码av | 国产精品久久久久久无码 | 日韩人妻无码一区二区三区久久99 | 日本熟妇大屁股人妻 | 亚洲熟妇自偷自拍另类 | 曰韩无码二三区中文字幕 | 日韩av无码一区二区三区不卡 | 国产乱人无码伦av在线a | аⅴ资源天堂资源库在线 | 97久久国产亚洲精品超碰热 | 成人免费视频视频在线观看 免费 | 领导边摸边吃奶边做爽在线观看 | 天天拍夜夜添久久精品 | 欧美性猛交内射兽交老熟妇 | 色老头在线一区二区三区 | 久久亚洲国产成人精品性色 | 国产精品亚洲一区二区三区喷水 | 丰满少妇高潮惨叫视频 | 日本爽爽爽爽爽爽在线观看免 | 中文毛片无遮挡高清免费 | 国产精品久久久一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 装睡被陌生人摸出水好爽 | aⅴ在线视频男人的天堂 | 在线成人www免费观看视频 | 小sao货水好多真紧h无码视频 | 欧美乱妇无乱码大黄a片 | 国产午夜精品一区二区三区嫩草 | 国产精品美女久久久网av | 久久精品中文字幕一区 | 久久精品国产亚洲精品 | 天天燥日日燥 | 色偷偷人人澡人人爽人人模 | 国内老熟妇对白xxxxhd | 亚洲精品午夜无码电影网 | 亚洲狠狠婷婷综合久久 | 国产激情综合五月久久 | 无码国产乱人伦偷精品视频 | 伊人久久大香线焦av综合影院 | 亚洲精品国产精品乱码视色 | 久9re热视频这里只有精品 | 一本久道久久综合婷婷五月 | 四虎4hu永久免费 | 欧美精品无码一区二区三区 | 国产精品久久国产精品99 | 97色伦图片97综合影院 | 蜜臀aⅴ国产精品久久久国产老师 | 无码av免费一区二区三区试看 | 国内精品久久久久久中文字幕 | 熟女俱乐部五十路六十路av | 国产在线aaa片一区二区99 | 日本丰满熟妇videos | 国产精品无码成人午夜电影 | 国产亚洲精品久久久久久久 | 亚欧洲精品在线视频免费观看 | 中文字幕人成乱码熟女app | 一本久久a久久精品亚洲 | 国产热a欧美热a在线视频 | 亚洲天堂2017无码 | 人妻少妇精品无码专区动漫 | 国产av人人夜夜澡人人爽麻豆 | 国产免费观看黄av片 | 日本熟妇大屁股人妻 | 亚洲 a v无 码免 费 成 人 a v | 中文字幕乱妇无码av在线 | 国产在线精品一区二区三区直播 | 国产av一区二区三区最新精品 | 亚洲国产高清在线观看视频 | av无码电影一区二区三区 | 亚洲中文字幕无码中字 | 欧美激情综合亚洲一二区 | 久久国产自偷自偷免费一区调 | 国产成人无码a区在线观看视频app | 久久久久人妻一区精品色欧美 | 夜精品a片一区二区三区无码白浆 | 99久久久国产精品无码免费 | 国产欧美亚洲精品a | 中文字幕人妻无码一区二区三区 | 性史性农村dvd毛片 | 国产香蕉尹人综合在线观看 | 日韩欧美成人免费观看 | 波多野结衣乳巨码无在线观看 | 99精品久久毛片a片 | 国产精品99爱免费视频 | 久久综合给久久狠狠97色 | 少妇无码av无码专区在线观看 | 大肉大捧一进一出视频出来呀 | 激情内射日本一区二区三区 | 久久99精品久久久久婷婷 | 国产精品久久久久久亚洲影视内衣 | 欧美成人高清在线播放 | www国产亚洲精品久久久日本 | 又大又紧又粉嫩18p少妇 | 色爱情人网站 | 亚洲第一无码av无码专区 | 日韩亚洲欧美中文高清在线 | www国产亚洲精品久久久日本 | 成年美女黄网站色大免费全看 | 国产人成高清在线视频99最全资源 | 中文精品久久久久人妻不卡 | 色偷偷人人澡人人爽人人模 | 亚洲精品综合一区二区三区在线 | 丰满肥臀大屁股熟妇激情视频 | 国产亚洲精品久久久ai换 | 激情内射日本一区二区三区 | 亚洲欧美综合区丁香五月小说 | 欧美日韩久久久精品a片 | 97se亚洲精品一区 | 久久国产精品_国产精品 | 国产超级va在线观看视频 | 丝袜人妻一区二区三区 | 人妻与老人中文字幕 | 国产无遮挡吃胸膜奶免费看 | 人人妻人人澡人人爽欧美一区九九 | 暴力强奷在线播放无码 | 欧美三级a做爰在线观看 | 97久久精品无码一区二区 | 天天做天天爱天天爽综合网 | 亚洲精品国产精品乱码视色 | 精品无码一区二区三区的天堂 | 日日橹狠狠爱欧美视频 | 中文字幕 人妻熟女 | 色五月五月丁香亚洲综合网 | 亚洲色欲色欲天天天www | 中文字幕人成乱码熟女app | 波多野结衣av在线观看 | 一本久久a久久精品vr综合 | 在线а√天堂中文官网 | 亚洲精品午夜无码电影网 | 欧洲精品码一区二区三区免费看 | 人妻少妇被猛烈进入中文字幕 | 在线欧美精品一区二区三区 | 樱花草在线播放免费中文 | 女人和拘做爰正片视频 | 国产av无码专区亚洲a∨毛片 | 国产亚洲日韩欧美另类第八页 | 人妻体内射精一区二区三四 | 中文字幕中文有码在线 | 免费人成网站视频在线观看 | 老熟女重囗味hdxx69 | 免费观看黄网站 | 国产精品久久国产精品99 | 男女性色大片免费网站 | 亚洲精品中文字幕久久久久 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲大尺度无码无码专区 | 蜜桃视频插满18在线观看 | 无遮挡国产高潮视频免费观看 | 丰满少妇高潮惨叫视频 | 东京一本一道一二三区 | 国产精品爱久久久久久久 | 思思久久99热只有频精品66 | 国产女主播喷水视频在线观看 | 欧美性猛交xxxx富婆 | 亚洲中文字幕无码中文字在线 | 久久久国产一区二区三区 | 大屁股大乳丰满人妻 | 欧美一区二区三区视频在线观看 | 亚洲国产精品久久人人爱 | 亚洲七七久久桃花影院 | 亚洲精品久久久久久久久久久 | 欧美老熟妇乱xxxxx | 午夜熟女插插xx免费视频 | 成人三级无码视频在线观看 | 网友自拍区视频精品 | 免费国产成人高清在线观看网站 | 国色天香社区在线视频 | av在线亚洲欧洲日产一区二区 | 午夜成人1000部免费视频 | 99久久精品午夜一区二区 | 亚洲va中文字幕无码久久不卡 | 中文字幕日产无线码一区 | 久久久久se色偷偷亚洲精品av | 东京无码熟妇人妻av在线网址 | 青青青手机频在线观看 | 又大又硬又黄的免费视频 | 久久99精品国产麻豆 | 国产偷抇久久精品a片69 | 全黄性性激高免费视频 | 性色av无码免费一区二区三区 | 亚洲男人av天堂午夜在 | 天天av天天av天天透 | 久久久久久久久888 | 67194成是人免费无码 | 国产人妻大战黑人第1集 | 久久久精品人妻久久影视 | 国产精品多人p群无码 | 美女张开腿让人桶 | 国产尤物精品视频 | 亚洲人成影院在线观看 | 欧美变态另类xxxx | 日韩精品成人一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 波多野结衣高清一区二区三区 | 久久精品国产99精品亚洲 | 狠狠cao日日穞夜夜穞av | 久久99精品久久久久久 | 日韩精品a片一区二区三区妖精 | 国产人妻大战黑人第1集 | 日韩精品一区二区av在线 | 成人无码精品一区二区三区 | 国产乱人无码伦av在线a | 国产亚洲精品久久久闺蜜 | 国产婷婷色一区二区三区在线 | 国产成人综合色在线观看网站 | 67194成是人免费无码 | 奇米影视888欧美在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 欧美日韩人成综合在线播放 | 4hu四虎永久在线观看 | 日韩欧美中文字幕公布 | 国产成人精品优优av | 婷婷综合久久中文字幕蜜桃三电影 | 午夜精品一区二区三区在线观看 | 亚无码乱人伦一区二区 | 久久精品国产一区二区三区肥胖 | 亚洲中文字幕在线观看 | 国产乱人偷精品人妻a片 | 久久zyz资源站无码中文动漫 | 亚洲 另类 在线 欧美 制服 | 国产精品久久久久久亚洲影视内衣 | 亚洲欧美综合区丁香五月小说 | 色一情一乱一伦一区二区三欧美 | 色综合久久中文娱乐网 | 露脸叫床粗话东北少妇 | 久久97精品久久久久久久不卡 | 妺妺窝人体色www在线小说 | 日本精品人妻无码77777 天堂一区人妻无码 | 无码纯肉视频在线观看 | 中文字幕乱妇无码av在线 | 内射老妇bbwx0c0ck | 97无码免费人妻超级碰碰夜夜 | 真人与拘做受免费视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产av久久久久精东av | 国精产品一品二品国精品69xx | 久久人人爽人人爽人人片av高清 | 高潮毛片无遮挡高清免费视频 | 亚洲国产精品一区二区第一页 | 国内精品一区二区三区不卡 | 久久婷婷五月综合色国产香蕉 | 少妇人妻av毛片在线看 | 亚洲成a人片在线观看无码 | 伊人色综合久久天天小片 | 欧美人与禽zoz0性伦交 | 九九久久精品国产免费看小说 | 久久亚洲国产成人精品性色 | 黑人巨大精品欧美黑寡妇 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 精品无人国产偷自产在线 | 国内少妇偷人精品视频 | 秋霞特色aa大片 | 免费看少妇作爱视频 | 色爱情人网站 | 丰满人妻翻云覆雨呻吟视频 | 成 人 网 站国产免费观看 | 国产成人一区二区三区别 | 亚洲精品国偷拍自产在线观看蜜桃 | 国内丰满熟女出轨videos | 久久天天躁狠狠躁夜夜免费观看 | 人人妻人人澡人人爽人人精品 | 色综合久久88色综合天天 | 国产舌乚八伦偷品w中 | 色综合天天综合狠狠爱 | 亚洲自偷自拍另类第1页 | 色综合久久网 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲国产成人av在线观看 | www成人国产高清内射 | 国产午夜精品一区二区三区嫩草 | 精品国产aⅴ无码一区二区 | 亚洲欧美国产精品专区久久 | 欧美丰满少妇xxxx性 | 男人的天堂av网站 | 国产熟女一区二区三区四区五区 | 久久综合香蕉国产蜜臀av | 青草视频在线播放 | 国产一区二区三区精品视频 | 夜夜影院未满十八勿进 | 无码任你躁久久久久久久 | аⅴ资源天堂资源库在线 | 日本在线高清不卡免费播放 | 青青草原综合久久大伊人精品 | 免费无码的av片在线观看 | 美女极度色诱视频国产 | √8天堂资源地址中文在线 | 狠狠综合久久久久综合网 | 久久精品国产99久久6动漫 | 中文字幕 亚洲精品 第1页 | 成人影院yy111111在线观看 | 午夜精品一区二区三区的区别 | 无套内谢的新婚少妇国语播放 | 久久国产精品二国产精品 | 国产办公室秘书无码精品99 | 久久综合香蕉国产蜜臀av | 久久久久99精品国产片 | 国产成人久久精品流白浆 | 国产人妻精品一区二区三区不卡 | 亚洲色无码一区二区三区 | 国模大胆一区二区三区 | 色综合天天综合狠狠爱 | 内射巨臀欧美在线视频 | 强伦人妻一区二区三区视频18 | 国产偷国产偷精品高清尤物 | 国产精品二区一区二区aⅴ污介绍 | 波多野结衣高清一区二区三区 | 日本大香伊一区二区三区 | 日日摸天天摸爽爽狠狠97 | 日本饥渴人妻欲求不满 | 亚洲国产精华液网站w | 国产人妻人伦精品 | 内射巨臀欧美在线视频 | 丰满岳乱妇在线观看中字无码 | 欧美 日韩 亚洲 在线 | 蜜桃视频插满18在线观看 | 亚洲日本一区二区三区在线 | 日产国产精品亚洲系列 | 无码人妻精品一区二区三区不卡 | 国产av无码专区亚洲a∨毛片 | 日本大香伊一区二区三区 | 激情内射亚州一区二区三区爱妻 | 久久亚洲国产成人精品性色 | 正在播放老肥熟妇露脸 | 国语精品一区二区三区 | 国产熟女一区二区三区四区五区 | 免费看男女做好爽好硬视频 | 免费看男女做好爽好硬视频 | 丰满诱人的人妻3 | 成人精品视频一区二区三区尤物 | 伊人久久婷婷五月综合97色 | 亚洲一区二区三区四区 | 国产九九九九九九九a片 | 俺去俺来也www色官网 | 国产69精品久久久久app下载 | 亚洲精品久久久久久一区二区 | 亚洲乱码中文字幕在线 | 亚洲欧美日韩成人高清在线一区 | 国产人妻精品一区二区三区 | 国产口爆吞精在线视频 | 精品一区二区三区无码免费视频 | 国产成人一区二区三区别 | 精品久久久久久亚洲精品 | 内射巨臀欧美在线视频 | 精品乱码久久久久久久 | 久久99精品久久久久久 | 精品少妇爆乳无码av无码专区 | 亚洲色欲色欲天天天www | 丝袜美腿亚洲一区二区 | 亚洲国产精华液网站w | 精品欧美一区二区三区久久久 | 亲嘴扒胸摸屁股激烈网站 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲中文字幕乱码av波多ji | 麻豆成人精品国产免费 | 国产两女互慰高潮视频在线观看 | 精品国产青草久久久久福利 | 人妻插b视频一区二区三区 | 1000部啪啪未满十八勿入下载 | 一本久道久久综合狠狠爱 | 国产suv精品一区二区五 | 天堂а√在线中文在线 | av小次郎收藏 | 高潮毛片无遮挡高清免费视频 | 久久人人97超碰a片精品 | 免费观看又污又黄的网站 | 在线观看国产午夜福利片 | 色诱久久久久综合网ywww | 亚洲综合精品香蕉久久网 | 天天爽夜夜爽夜夜爽 | 日本熟妇人妻xxxxx人hd | 久久久中文字幕日本无吗 | 久久亚洲中文字幕无码 | 东京热一精品无码av | 中文精品久久久久人妻不卡 | 久久天天躁夜夜躁狠狠 | 人妻无码久久精品人妻 | 国产精品美女久久久网av | 麻豆av传媒蜜桃天美传媒 | 亚洲乱亚洲乱妇50p | 牲交欧美兽交欧美 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲精品中文字幕久久久久 | 国产精品理论片在线观看 | 青青青手机频在线观看 | 亚洲成a人一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 久久精品人人做人人综合 | 内射欧美老妇wbb | 性史性农村dvd毛片 | 欧美自拍另类欧美综合图片区 | 丰满少妇弄高潮了www | 天堂无码人妻精品一区二区三区 | 美女扒开屁股让男人桶 | 无码人妻出轨黑人中文字幕 | 天堂一区人妻无码 | 日本免费一区二区三区最新 | 精品无人国产偷自产在线 | 99久久久无码国产aaa精品 | аⅴ资源天堂资源库在线 | 日韩少妇内射免费播放 | 亚洲日韩av一区二区三区中文 | 在线a亚洲视频播放在线观看 | 麻豆国产97在线 | 欧洲 | 日本一区二区三区免费播放 | 妺妺窝人体色www在线小说 | 精品熟女少妇av免费观看 | 色婷婷综合激情综在线播放 | 性啪啪chinese东北女人 | 亚洲成a人片在线观看无码3d | 国产精品无码成人午夜电影 | 四十如虎的丰满熟妇啪啪 | 日韩人妻系列无码专区 | 精品一二三区久久aaa片 | 丰满妇女强制高潮18xxxx | 亚洲欧美精品aaaaaa片 | 欧美黑人巨大xxxxx | 精品无码一区二区三区爱欲 | 欧美成人高清在线播放 | 少妇性荡欲午夜性开放视频剧场 | 男人扒开女人内裤强吻桶进去 | 日韩欧美中文字幕在线三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产区女主播在线观看 | 人人妻人人澡人人爽精品欧美 | 中国女人内谢69xxxxxa片 | 日韩视频 中文字幕 视频一区 | 亚洲综合无码一区二区三区 | 国产精品国产三级国产专播 | 精品午夜福利在线观看 | 99久久婷婷国产综合精品青草免费 | 日韩人妻少妇一区二区三区 | 欧美日韩精品 | 天堂久久天堂av色综合 | 国产美女精品一区二区三区 | 久久99精品国产.久久久久 | 无遮无挡爽爽免费视频 | 国产成人精品无码播放 | √天堂资源地址中文在线 | 丰满人妻精品国产99aⅴ | 一本一道久久综合久久 | av小次郎收藏 | 香港三级日本三级妇三级 | 日日躁夜夜躁狠狠躁 | 国产av剧情md精品麻豆 | 性色av无码免费一区二区三区 | 亚洲欧美国产精品专区久久 | 国产成人精品三级麻豆 | 天堂一区人妻无码 | 国产无av码在线观看 | 亚洲男女内射在线播放 | 国产在线无码精品电影网 | 无码纯肉视频在线观看 | 色偷偷人人澡人人爽人人模 | 99久久久国产精品无码免费 | 红桃av一区二区三区在线无码av | 久久综合九色综合欧美狠狠 | 精品国产福利一区二区 | 狠狠综合久久久久综合网 | а天堂中文在线官网 | 一本色道久久综合亚洲精品不卡 | 人人妻人人澡人人爽欧美一区 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲精品中文字幕乱码 | 99久久亚洲精品无码毛片 | 欧洲精品码一区二区三区免费看 | 国产成人精品三级麻豆 | 免费人成在线视频无码 | 又大又硬又爽免费视频 | 婷婷五月综合缴情在线视频 | 麻豆成人精品国产免费 | 久久国内精品自在自线 | aⅴ在线视频男人的天堂 | 久久久精品人妻久久影视 | 欧美激情一区二区三区成人 | 日本一区二区更新不卡 | 婷婷丁香五月天综合东京热 | 日本大乳高潮视频在线观看 | 精品夜夜澡人妻无码av蜜桃 | 国产 浪潮av性色四虎 | 女人被爽到呻吟gif动态图视看 | 97久久精品无码一区二区 | 在线a亚洲视频播放在线观看 | 少妇性l交大片 | 欧美激情一区二区三区成人 | v一区无码内射国产 | 亚洲精品一区国产 | 亚洲国产精品久久久天堂 | 2020最新国产自产精品 | 久久99精品久久久久久动态图 | 亚洲第一无码av无码专区 | 亚洲理论电影在线观看 | 国精产品一品二品国精品69xx | 亚洲狠狠色丁香婷婷综合 | 欧洲熟妇精品视频 | 红桃av一区二区三区在线无码av | 六月丁香婷婷色狠狠久久 | 人妻中文无码久热丝袜 | 天堂亚洲免费视频 | 亚洲成av人在线观看网址 | 玩弄人妻少妇500系列视频 | 欧美丰满少妇xxxx性 | 国产区女主播在线观看 | 国产在线精品一区二区高清不卡 | av香港经典三级级 在线 | 国产精品久久久午夜夜伦鲁鲁 | 美女毛片一区二区三区四区 | 久久精品国产日本波多野结衣 | 爽爽影院免费观看 | 熟女体下毛毛黑森林 | 麻豆国产丝袜白领秘书在线观看 | 中文字幕乱码中文乱码51精品 | 国产卡一卡二卡三 | 久久国产自偷自偷免费一区调 | 国产人妻大战黑人第1集 | 日欧一片内射va在线影院 | 国产激情综合五月久久 | 性欧美牲交在线视频 | 精品国产一区二区三区四区在线看 | 福利一区二区三区视频在线观看 | 精品夜夜澡人妻无码av蜜桃 | 人人妻人人藻人人爽欧美一区 | 内射后入在线观看一区 | 九月婷婷人人澡人人添人人爽 | 国产性生大片免费观看性 | 婷婷综合久久中文字幕蜜桃三电影 | 国产精品二区一区二区aⅴ污介绍 | 精品一区二区不卡无码av | 四虎影视成人永久免费观看视频 | 蜜桃臀无码内射一区二区三区 | 又湿又紧又大又爽a视频国产 | 亚洲国产欧美国产综合一区 | 九九在线中文字幕无码 | 色欲av亚洲一区无码少妇 | 特黄特色大片免费播放器图片 | 狠狠色丁香久久婷婷综合五月 | 又粗又大又硬毛片免费看 | 乱码av麻豆丝袜熟女系列 | 久久人人爽人人爽人人片av高清 | 九九在线中文字幕无码 | 亚洲国产高清在线观看视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产精品永久免费视频 | 国产精品人人爽人人做我的可爱 | 日韩精品a片一区二区三区妖精 | 玩弄人妻少妇500系列视频 | 久久久久免费精品国产 | 蜜桃臀无码内射一区二区三区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 日日天干夜夜狠狠爱 | 四虎影视成人永久免费观看视频 | 日韩av无码中文无码电影 | 色爱情人网站 | 欧美老妇与禽交 | 桃花色综合影院 | 日本护士毛茸茸高潮 | 四虎影视成人永久免费观看视频 | 欧美亚洲日韩国产人成在线播放 | 天海翼激烈高潮到腰振不止 | aa片在线观看视频在线播放 | 色欲久久久天天天综合网精品 | 日韩av无码一区二区三区不卡 | 国产精品18久久久久久麻辣 | 国产内射爽爽大片视频社区在线 | 麻豆国产人妻欲求不满谁演的 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲国产精品美女久久久久 | 99久久久无码国产精品免费 | 桃花色综合影院 | 日韩亚洲欧美中文高清在线 | 野外少妇愉情中文字幕 | 中文字幕乱码中文乱码51精品 | 日韩少妇内射免费播放 | ass日本丰满熟妇pics | 国产超级va在线观看视频 | 亚洲精品国偷拍自产在线麻豆 | 国产精品久久久久久久9999 | 亚洲综合伊人久久大杳蕉 | 国产特级毛片aaaaaa高潮流水 | 激情亚洲一区国产精品 | 色诱久久久久综合网ywww | 国产精品自产拍在线观看 | 亚洲成色www久久网站 | 国产精品久久福利网站 | 久久精品国产日本波多野结衣 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产亚洲欧美日韩亚洲中文色 | 国产香蕉97碰碰久久人人 | 成人影院yy111111在线观看 | 999久久久国产精品消防器材 | 婷婷丁香五月天综合东京热 | 日产精品高潮呻吟av久久 | 成人无码精品1区2区3区免费看 | 国产成人一区二区三区在线观看 | 国产成人久久精品流白浆 | 人妻少妇精品视频专区 | 中文无码成人免费视频在线观看 | 日本大乳高潮视频在线观看 | 荫蒂添的好舒服视频囗交 | 日本爽爽爽爽爽爽在线观看免 | 国产麻豆精品一区二区三区v视界 | 2019nv天堂香蕉在线观看 | 天天爽夜夜爽夜夜爽 | 图片区 小说区 区 亚洲五月 | 少妇的肉体aa片免费 | 波多野42部无码喷潮在线 | 国产精品怡红院永久免费 | 午夜福利一区二区三区在线观看 | aⅴ在线视频男人的天堂 | 激情五月综合色婷婷一区二区 | 婷婷五月综合激情中文字幕 | 亚洲狠狠色丁香婷婷综合 | 2020久久超碰国产精品最新 | 亚洲中文字幕成人无码 | 久热国产vs视频在线观看 | 亚洲精品综合五月久久小说 | 色诱久久久久综合网ywww | 国产午夜精品一区二区三区嫩草 | 一个人看的视频www在线 | 亚洲自偷自偷在线制服 | 漂亮人妻洗澡被公强 日日躁 | 伊人久久大香线蕉午夜 | 18禁止看的免费污网站 | 四十如虎的丰满熟妇啪啪 | 日本一卡二卡不卡视频查询 | 97精品人妻一区二区三区香蕉 | 樱花草在线社区www | 精品国产乱码久久久久乱码 | 国产精品va在线观看无码 | 色诱久久久久综合网ywww | 图片小说视频一区二区 | 色窝窝无码一区二区三区色欲 | 自拍偷自拍亚洲精品被多人伦好爽 | 99er热精品视频 | 在线观看国产一区二区三区 | 色婷婷久久一区二区三区麻豆 | 日韩精品一区二区av在线 | 狠狠cao日日穞夜夜穞av | аⅴ资源天堂资源库在线 | 国产69精品久久久久app下载 | 精品国偷自产在线 | 青草青草久热国产精品 | 久久精品国产99精品亚洲 | 18无码粉嫩小泬无套在线观看 | 无码成人精品区在线观看 | 亚洲va欧美va天堂v国产综合 | 四十如虎的丰满熟妇啪啪 | 精品亚洲韩国一区二区三区 | 大肉大捧一进一出好爽视频 | 国产亲子乱弄免费视频 | 成人免费无码大片a毛片 | 欧美精品在线观看 | 亚洲人成人无码网www国产 | 性做久久久久久久免费看 | 又大又硬又黄的免费视频 | 精品无码av一区二区三区 | 中文字幕无码乱人伦 | 女高中生第一次破苞av | 国产在热线精品视频 | 纯爱无遮挡h肉动漫在线播放 | 无码吃奶揉捏奶头高潮视频 | 国产舌乚八伦偷品w中 | 国产深夜福利视频在线 | 日韩亚洲欧美中文高清在线 | 一区二区三区高清视频一 | 亚洲中文无码av永久不收费 | 国产综合久久久久鬼色 | 美女黄网站人色视频免费国产 | 国内老熟妇对白xxxxhd | 乱人伦中文视频在线观看 | 在线成人www免费观看视频 | 久久午夜无码鲁丝片 | 国精品人妻无码一区二区三区蜜柚 | 内射欧美老妇wbb | 天干天干啦夜天干天2017 | 女人色极品影院 | 又黄又爽又色的视频 | 亚无码乱人伦一区二区 | 在线精品亚洲一区二区 | 中文字幕无码免费久久9一区9 | aⅴ亚洲 日韩 色 图网站 播放 | 天天躁日日躁狠狠躁免费麻豆 | 精品久久久久久亚洲精品 | 成人影院yy111111在线观看 | 欧洲熟妇色 欧美 | 欧美第一黄网免费网站 | 国产片av国语在线观看 | 天天爽夜夜爽夜夜爽 | 色婷婷欧美在线播放内射 | 97精品人妻一区二区三区香蕉 | 最近中文2019字幕第二页 | 图片小说视频一区二区 | 国产av人人夜夜澡人人爽麻豆 | 丰满少妇熟乱xxxxx视频 | 国产情侣作爱视频免费观看 | 日本一区二区三区免费播放 | 免费看男女做好爽好硬视频 | 亚洲乱码国产乱码精品精 | 亚洲第一网站男人都懂 | 精品久久8x国产免费观看 | 久久精品国产亚洲精品 | 国产欧美精品一区二区三区 | 色综合天天综合狠狠爱 | 国产精品对白交换视频 | 日本大香伊一区二区三区 | 亚洲の无码国产の无码影院 | 国产av久久久久精东av | 无码人妻少妇伦在线电影 | 亚洲国产精品成人久久蜜臀 | 国产三级久久久精品麻豆三级 | 人人澡人摸人人添 | 国产又粗又硬又大爽黄老大爷视 | 理论片87福利理论电影 | 国产综合色产在线精品 | 久久aⅴ免费观看 | 少妇无码av无码专区在线观看 | 日本又色又爽又黄的a片18禁 | 97无码免费人妻超级碰碰夜夜 | 国产午夜福利亚洲第一 | 福利一区二区三区视频在线观看 | 国产成人精品三级麻豆 | 国产精品福利视频导航 | 亚洲国产欧美国产综合一区 | 亚洲色欲久久久综合网东京热 | 亚洲男人av天堂午夜在 | 天下第一社区视频www日本 | 久久zyz资源站无码中文动漫 | 高潮毛片无遮挡高清免费 | 精品人妻人人做人人爽夜夜爽 | 欧美35页视频在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 女人高潮内射99精品 | 国产成人久久精品流白浆 | 久久久中文久久久无码 | 偷窥日本少妇撒尿chinese | 成人影院yy111111在线观看 | 曰韩无码二三区中文字幕 | 美女极度色诱视频国产 | 国产精品久久久久久亚洲影视内衣 | 欧美性猛交xxxx富婆 | 久久精品人人做人人综合试看 | 久久亚洲国产成人精品性色 | 377p欧洲日本亚洲大胆 | 中文无码伦av中文字幕 | 一个人免费观看的www视频 | 国产av无码专区亚洲a∨毛片 | 55夜色66夜色国产精品视频 | 乌克兰少妇xxxx做受 | 国产无套内射久久久国产 | 久久天天躁夜夜躁狠狠 | 亚洲色欲色欲天天天www | 99久久精品午夜一区二区 | 无码人妻久久一区二区三区不卡 | 日本免费一区二区三区最新 | 无码纯肉视频在线观看 | 精品亚洲成av人在线观看 | 午夜福利试看120秒体验区 | 亚洲精品一区三区三区在线观看 | 西西人体www44rt大胆高清 | 国产人妻大战黑人第1集 | 国产另类ts人妖一区二区 | 亚洲色在线无码国产精品不卡 | 无码国产激情在线观看 | 国产成人精品久久亚洲高清不卡 | 人人超人人超碰超国产 | 色五月丁香五月综合五月 | 丰满少妇高潮惨叫视频 | 国产精品高潮呻吟av久久 | 色婷婷av一区二区三区之红樱桃 | 98国产精品综合一区二区三区 | 玩弄人妻少妇500系列视频 | 特大黑人娇小亚洲女 | 久久久精品人妻久久影视 | 欧美刺激性大交 | 帮老师解开蕾丝奶罩吸乳网站 | 国产真人无遮挡作爱免费视频 | 小泽玛莉亚一区二区视频在线 | 伊人久久大香线蕉亚洲 | 粉嫩少妇内射浓精videos | 国产熟妇另类久久久久 | 一本加勒比波多野结衣 | 亚洲精品成人福利网站 | 欧美日韩视频无码一区二区三 | 麻豆md0077饥渴少妇 | 久久久国产精品无码免费专区 | 国产极品视觉盛宴 | 日韩亚洲欧美中文高清在线 | 久久99精品久久久久久动态图 | 中文字幕人妻丝袜二区 | 清纯唯美经典一区二区 | 日日碰狠狠躁久久躁蜜桃 | 丰满肥臀大屁股熟妇激情视频 | 欧美精品一区二区精品久久 | 在线视频网站www色 | 欧美性色19p | 4hu四虎永久在线观看 | 欧美丰满熟妇xxxx | 亚洲热妇无码av在线播放 | 日本熟妇人妻xxxxx人hd | 又粗又大又硬又长又爽 | 波多野结衣 黑人 | 国产内射爽爽大片视频社区在线 | 无码精品人妻一区二区三区av | 精品偷自拍另类在线观看 | 久久综合给合久久狠狠狠97色 | 欧美日韩久久久精品a片 | 中文字幕乱码中文乱码51精品 | 红桃av一区二区三区在线无码av | 国产精品久久久久久久影院 | 日日摸日日碰夜夜爽av | 日本精品高清一区二区 | 成人试看120秒体验区 | 乌克兰少妇xxxx做受 | 国产精华av午夜在线观看 | 九九在线中文字幕无码 | 色妞www精品免费视频 | 成人女人看片免费视频放人 | 天堂а√在线中文在线 | 99久久久无码国产精品免费 | 给我免费的视频在线观看 | 色婷婷久久一区二区三区麻豆 | 亚洲一区二区三区在线观看网站 | 少妇一晚三次一区二区三区 | 黑森林福利视频导航 | 国产成人精品无码播放 | 日韩av无码一区二区三区不卡 | 成人无码影片精品久久久 | 国产色视频一区二区三区 | 国产精品无码mv在线观看 | 久精品国产欧美亚洲色aⅴ大片 | 精品国产国产综合精品 | 成人免费视频视频在线观看 免费 | 波多野结衣av一区二区全免费观看 | 欧美日本精品一区二区三区 | 亚洲国产成人a精品不卡在线 | 久久婷婷五月综合色国产香蕉 | 国产av一区二区精品久久凹凸 | 又大又硬又黄的免费视频 | 国产绳艺sm调教室论坛 | 性啪啪chinese东北女人 | 久久精品99久久香蕉国产色戒 | 99麻豆久久久国产精品免费 | 久久久无码中文字幕久... | 国产偷自视频区视频 | 精品无码av一区二区三区 | 精品成在人线av无码免费看 | 少妇性荡欲午夜性开放视频剧场 | 亚洲国产精品一区二区第一页 | 国产在线精品一区二区三区直播 | 性欧美大战久久久久久久 | 亚洲精品一区二区三区在线观看 | 免费观看激色视频网站 | 国产激情一区二区三区 | 国产人妻精品一区二区三区不卡 | 久久久国产精品无码免费专区 | 青草青草久热国产精品 | 成人一区二区免费视频 | 成人亚洲精品久久久久软件 | 波多野结衣 黑人 | 无码人妻丰满熟妇区毛片18 | 人妻插b视频一区二区三区 | 精品水蜜桃久久久久久久 | 免费观看激色视频网站 | 呦交小u女精品视频 | 国产午夜无码精品免费看 | 99久久人妻精品免费一区 | 欧美激情内射喷水高潮 | 亚洲成色www久久网站 | 无码av中文字幕免费放 | 久久综合给合久久狠狠狠97色 | 久久久久99精品国产片 | 国产av人人夜夜澡人人爽麻豆 | 国色天香社区在线视频 | 国产成人无码区免费内射一片色欲 | 女人被男人爽到呻吟的视频 | a在线观看免费网站大全 | 在线观看免费人成视频 | 欧洲熟妇色 欧美 | 小鲜肉自慰网站xnxx | 亚洲啪av永久无码精品放毛片 | 在线观看欧美一区二区三区 | 午夜肉伦伦影院 | 国产在线aaa片一区二区99 | 日日碰狠狠躁久久躁蜜桃 | 日本va欧美va欧美va精品 | 97精品国产97久久久久久免费 | 国产绳艺sm调教室论坛 | 无码午夜成人1000部免费视频 | 午夜性刺激在线视频免费 | 欧美性生交xxxxx久久久 | 色五月丁香五月综合五月 | 内射巨臀欧美在线视频 | 亚洲第一无码av无码专区 | 中文字幕 亚洲精品 第1页 | 日日碰狠狠丁香久燥 | 免费视频欧美无人区码 | 免费观看又污又黄的网站 | 人人妻人人澡人人爽欧美一区九九 | 四虎永久在线精品免费网址 | 4hu四虎永久在线观看 | 精品成在人线av无码免费看 | 300部国产真实乱 | 欧美人与牲动交xxxx | 日韩少妇白浆无码系列 | 免费人成在线视频无码 | 粗大的内捧猛烈进出视频 | 国产精品久久久久7777 | 久久婷婷五月综合色国产香蕉 | 国产亚洲精品久久久ai换 | 欧美黑人巨大xxxxx | 在教室伦流澡到高潮hnp视频 | 日本免费一区二区三区最新 | 女人被男人躁得好爽免费视频 | 一个人看的视频www在线 | 久久精品人妻少妇一区二区三区 | 亚洲男人av天堂午夜在 | 99久久久国产精品无码免费 | 六月丁香婷婷色狠狠久久 | 国产两女互慰高潮视频在线观看 | 国产精品资源一区二区 | 亚洲爆乳精品无码一区二区三区 | 精品亚洲韩国一区二区三区 | 亚洲精品午夜无码电影网 | 激情综合激情五月俺也去 | 亚洲色www成人永久网址 | 国产人妻精品一区二区三区 | 丰满少妇高潮惨叫视频 | 久在线观看福利视频 | 欧美黑人巨大xxxxx | 国产一精品一av一免费 | 婷婷五月综合激情中文字幕 | 亚洲中文字幕无码中字 | 98国产精品综合一区二区三区 | 免费无码午夜福利片69 | 久青草影院在线观看国产 | 性色欲网站人妻丰满中文久久不卡 | 久久亚洲中文字幕精品一区 | 7777奇米四色成人眼影 | 久久久久免费看成人影片 | 人人妻人人藻人人爽欧美一区 | 精品久久久无码中文字幕 | 在线播放无码字幕亚洲 | 未满成年国产在线观看 | 欧美人妻一区二区三区 | 青草视频在线播放 | 老熟女重囗味hdxx69 | 国产猛烈高潮尖叫视频免费 | 一本久道久久综合狠狠爱 | 久久综合狠狠综合久久综合88 | 精品成在人线av无码免费看 | 国产精品无码一区二区桃花视频 | 成人精品天堂一区二区三区 | 国产精品无码成人午夜电影 | 波多野结衣av在线观看 | 亚洲一区二区三区 | 久久精品一区二区三区四区 |