天天看點

資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

python中資料可視化

關于統計的幾個概念

頻率直方圖

在統計資料時,按照頻數分布表,在平面直角坐标系中,橫軸标出每個組的端點(按類别統計時就是按類别分組),縱軸表示頻數,每個矩形的高代表對應的頻數,稱這樣的統計圖為頻率分布直方圖。

密度分布曲線或曲面

在頻率分布直方圖中,當樣本容量充分放大時,圖中的組距就會充分縮短,這時圖中的階梯折線就會演變成一條光滑的曲線,這條曲線就稱為總體的密度分布曲線。這條曲線(通常頻率都已經歸一化)排除了由于取樣不同和測量不準所帶來的誤差,能夠精确地反映總體的分布規律。

在數學中,連續型随機變量的機率密度函數(在不至于混淆時可以簡稱為密度函數)是一個描述這個随機變量的輸出值,在某個确定的取值點附近的可能性的函數。而随機變量的取值落在某個區域之内的機率則為機率密度函數在這個區域上的積分。當機率密度函數存在的時候,累積分布函數是機率密度函數的積分。

若随機變量X服從一個數學期望為μ、方差為 σ 2 σ^2 σ2的正态分布,記為 N ( μ , σ 2 ) N(μ,σ^2) N(μ,σ2)。其機率密度函數為正态分布的期望值μ決定了其位置,其标準差σ決定了分布的幅度。當 μ = 0 , σ = 1 μ = 0,σ = 1 μ=0,σ=1時的正态分布是标準正态分布。

置信區間

置信區間是指由樣本統計量所構造的總體參數的估計區間。在統計學中,一個機率樣本的置信區間(Confidence interval)是對這個樣本的某個總體參數的區間估計。置信區間展現的是這個參數的真實值有一定機率落在測量結果的周圍的程度。置信區間給出的是被測量參數的測量值的可信程度,即前面所要求的“一個機率”。

盒圖(boxplot)

資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

如上圖所示由五個數值點組成:最小值(min),下四分位數(Q1),中位數(median),上四分位數(Q3),最大值(max)。也可以往盒圖裡面加入平均值(mean)。下四分位數、中位數、上四分位數組成一個“帶有隔間的盒子”。上四分位數到最大值之間建立一條延伸線,這個延伸線成為“胡須(whisker)”。

由于現實資料中總是存在各式各樣地“髒資料”,也成為“離群點”,于是為了不因這些少數的離群資料導緻整體特征的偏移,将這些離群點單獨彙出,而盒圖中的胡須的兩級修改成最小觀測值與最大觀測值。這裡有個經驗,就是最大(最小)觀測值設定為與四分位數值間距離為1.5個IQR(中間四分位數極差)。即IQR = Q3-Q1,即上四分位數與下四分位數之間的差,也就是盒子的長度。

最小觀測值為min = Q1 - 1.5IQR,如果存在離群點小于最小觀測值,則胡須下限為最小觀測值,離群點單獨以點彙出。如果沒有比最小觀測值小的數,則胡須下限為最小值。

最大觀測值為max = Q3 -1.5IQR,如果存在離群點大于最大觀測值,則胡須上限為最大觀測值,離群點單獨以點彙出。如果沒有比最大觀測值大的數,則胡須上限為最大值。

通過盒圖,在分析資料的時候,盒圖能夠有效地幫助我們識别資料的特征:

  • 直覺地識别資料集中的異常值(檢視離群點)。
  • 1.箱體的左側(下)邊界代表第一四分位(Q1),而右側(上)邊界代表第三四分位(Q3)。至于箱體部分代表四分位距(IQR),也就是觀測值的中間50%值。 2.在箱體中間的線代表的是資料的中位數值。 3.從箱體邊緣延伸出去的直線稱為觸須(whisker).觸須(whisker)的向外延伸表示了資料集中的最大和最小(異常點除外)。 4.極端值或異常點(outlier),用星号(*)來辨別.如果一個值位于箱體外面(大于Q3或小于Q1),并且距離相應邊界大于1.5倍的IQR,那麼這個點就被認為是一個異常點(outlier)。 異常點(Outlier)-某個異常大或小的觀測點。任何超過觸須的值就是異常點。 預設情況下,箱體的頂端是第三四分位(Q3)-75%的資料值小于或等于這個值。 預設情況下,箱體的底部是第一四分位(Q1)-25%的資料值小于或等于這個值。 預設情況下,下部的觸須會伸展到最小值,但一定位于下限範圍内。 下限(Lower limit)=Q1-1.5(Q3-Q1) 中位數-資料的中間點。一半的觀測值小于或等于它。 預設情況下,上部的觸須會伸展到最大值,但一定位于上限範圍内。 上限(Upper limit)=Q3+1.5(Q3-Q1)
  • 判斷資料集的資料離散程度和偏向(觀察盒子的長度,上下隔間的形狀,以及胡須的長度)。
  • 使用箱形圖來評估資料的對稱性: 1.如果資料是明顯對稱,中位數值線将近似位于四分位距箱體的中間,上下觸須(whisker)在長度上将近似相等。 2.如果資料是偏态的,中位數将可能不位于四分位距(IQR)箱體的中間,某一觸須(whisker)将可能顯著地比另一個長。 ## matplot.pyplot Matplotlib的圖像組成部分詳解可[參考](http://www.cnblogs.com/nju2014/p/5620776.html)
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    matplot.pyplot畫圖

    Matplotlib繪制的50類圖 ,足夠驚豔!

    The Pyplot API:

    Function Description

    acorr …Plot the autocorrelation of x.

    angle_spectrum …Plot the angle spectrum.

    annotate…Annotate the point xy with text s.

    arrow…Add an arrow to the axes.

    autoscale…Autoscale the axis view to the data (toggle).

    axes…Add an axes to the figure.

    axhline…Add a horizontal line across the axis.

    axhspan…Add a horizontal span (rectangle) across the axis.

    axis…Convenience method to get or set axis properties.

    axvline…Add a vertical line across the axes.

    axvspan…Add a vertical span (rectangle) across the axes.

    bar…Make a bar plot.

    barbs…Plot a 2-D field of barbs.

    barh…Make a horizontal bar plot.

    box…Turn the axes box on or off.

    boxplot…Make a box and whisker plot.

    broken_barh…Plot horizontal bars.

    cla…Clear the current axes.

    clabel…Label a contour plot.

    clf…Clear the current figure.

    clim…Set the color limits of the current image.

    close…Close a figure window.

    cohere…Plot the coherence between x and y.

    colorbar…Add a colorbar to a plot.

    contour…Plot contours.

    contourf…Plot contours.

    csd…Plot the cross-spectral density.

    delaxes…Remove an axes from the current figure.

    draw…Redraw the current figure.

    errorbar…Plot an errorbar graph.

    eventplot Plot identical parallel lines at the given positions.

    figimage…Adds a non-resampled image to the figure.

    figlegend…Place a legend in the figure.

    fignum_exists…

    figtext…Add text to figure.

    figure…Creates a new figure.

    fill…Plot filled polygons.

    fill_between…Make filled polygons between two curves.

    fill_betweenx…Make filled polygons between two horizontal curves.

    findobj…Find artist objects.

    gca…Get the current Axes instance on the current figure matching the given keyword args, or create one.

    gcf…Get a reference to the current figure.

    gci…Get the current colorable artist.

    get_figlabels…Return a list of existing figure labels.

    get_fignums…Return a list of existing figure numbers.

    grid…Turn the axes grids on or off.

    hexbin…Make a hexagonal binning plot.

    hist…Plot a histogram.

    hist2d…Make a 2D histogram plot.

    hlines …Plot horizontal lines at each y from xmin to xmax.

    hold…

    imread…Read an image from a file into an array.

    imsave…Save an array as in image file.

    imshow…Display an image on the axes.

    install_repl_displayhook…Install a repl display hook so that any stale figure are automatically redrawn when control is returned to the repl.

    ioff …Turn interactive mode off.

    ion…Turn interactive mode on.

    ishold…

    isinteractive…Return status of interactive mode.

    legend …Places a legend on the axes.

    locator_params…Control behavior of tick locators.

    loglog …Make a plot with log scaling on both the x and y axis.

    magnitude_spectrum …Plot the magnitude spectrum.

    margins …Set or retrieve autoscaling margins.

    matshow…Display an array as a matrix in a new figure window.

    minorticks_off…Remove minor ticks from the current plot.

    minorticks_on…Display minor ticks on the current plot.

    over …

    pause …Pause for interval seconds.

    pcolor…Create a pseudocolor plot of a 2-D array.

    pcolormesh…Plot a quadrilateral mesh.

    phase_spectrum…Plot the phase spectrum.

    pie…Plot a pie chart.

    plot…Plot lines and/or markers to the Axes.

    plot_date…A plot with data that contains dates.

    plotfile…Plot the data in a file.

    polar…Make a polar plot.

    psd…Plot the power spectral density.

    quiver…Plot a 2-D field of arrows.

    quiverkey…Add a key to a quiver plot.

    rc…Set the current rc params.

    rc_context…Return a context manager for managing rc settings.

    rcdefaults…Restore the rc params from Matplotlib’s internal defaults.

    rgrids…Get or set the radial gridlines on a polar plot.

    savefig…Save the current figure.

    sca…Set the current Axes instance to ax.

    scatter…Make a scatter plot of x vs y.

    sci…Set the current image.

    semilogx…Make a plot with log scaling on the x axis.

    semilogy…Make a plot with log scaling on the y axis.

    set_cmap…Set the default colormap.

    setp…Set a property on an artist object.

    show…Display a figure.

    specgram…Plot a spectrogram.

    spy…Plot the sparsity pattern on a 2-D array.

    stackplot…Draws a stacked area plot.

    stem…Create a stem plot.

    step…Make a step plot.

    streamplot…Draws streamlines of a vector flow.

    subplot…Return a subplot axes at the given grid position.

    subplot2grid…Create an axis at specific location inside a regular grid.

    subplot_tool…Launch a subplot tool window for a figure.

    subplots…Create a figure and a set of subplots This utility wrapper makes it convenient to create common layouts of subplots, including the enclosing figure object, in a single call.

    subplots_adjust…Tune the subplot layout.

    suptitle…Add a centered title to the figure.

    switch_backend …Switch the default backend.

    table…Add a table to the current axes.

    text…Add text to the axes.

    thetagrids …Get or set the theta locations of the gridlines in a polar plot.

    tick_params…Change the appearance of ticks and tick labels.

    ticklabel_format…Change the ScalarFormatter used by default for linear axes.

    tight_layout…Automatically adjust subplot parameters to give specified padding.

    title…Set a title of the current axes.

    tricontour…Draw contours on an unstructured triangular grid.

    tricontourf…Draw contours on an unstructured triangular grid.

    tripcolor…Create a pseudocolor plot of an unstructured triangular grid.

    triplot…Draw a unstructured triangular grid as lines and/or markers.

    twinx …Make a second axes that shares the x-axis.

    twiny…Make a second axes that shares the y-axis.

    uninstall_repl_displayhook…Uninstalls the matplotlib display hook.

    violinplot …Make a violin plot.

    vlines …Plot vertical lines.

    xcorr …Plot the cross correlation between x and y.

    xkcd…Turns on xkcd sketch-style drawing mode.

    xlabel…Set the x axis label of the current axis.

    xlim…Get or set the x limits of the current axes.

    xscale…Set the scaling of the x-axis.

    xticks …Get or set the x-limits of the current tick locations and labels.

    ylabel…Set the y axis label of the current axis.

    ylim…Get or set the y-limits of the current axes.

    yscale …Set the scaling of the y-axis.

    yticks…Get or set the y-limits of the current tick locations and labels.

    pyplot.plot():

    pyplot.plot()的風格與matlab中的plot函數風格很像,通過不同的函數往畫布上添加内容,使得圖像内容更豐富。

    函數格式:plot(*args,**kwagrs)

    功能:畫點圖、線圖

    #最簡單的是向pyplot.plot()傳入y值,系統會自動補上x,然後在圖上繪制這些點并将點連線,最後用pyplot.show()讓圖像顯示出來。
    #b=np.arange(2,7)
    # plt.plot(b)
    # plt.show()
               
    如下所示:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #我們也可以同時傳入x和y,這樣更便于控制。同時還可以給x軸和y軸打上标簽。
    # a=np.arange(4,9)
    # plt.plot(a,b)
    # plt.xlabel("橫坐标")
    # plt.ylabel("縱坐标")
    # plt.show()
               
    如下圖所示
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #上面畫的圖像中标簽的中文無法正常顯示,原因是python中預設并沒有中文字型,是以我們要手動添加中文字型的名稱
    #手動添加如下代碼
    from matplotlib.font_manager import FontProperties
    zhfont=FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')
    a=np.arange(4,9)
    b=np.arange(2,7)
    # plt.plot(a,b)
    # plt.xlabel(u'橫坐标',fontproperties=zhfont)
    # plt.ylabel(u'縱坐标',fontproperties=zhfont)
    # plt.show()
               
    如下所示
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #我們還可以設定x軸和y軸的顯示範圍以及資料點和連線的樣式,這與matlab中一模一樣
    # plt.plot(a,b,'ro')
    # plt.axis([0,10,0,10])
    # plt.xlabel(u'橫坐标',fontproperties=zhfont)
    # plt.ylabel(u'縱坐标',fontproperties=zhfont)
    # plt.show()
               
    如下所示
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #還可以同時畫多條曲線
    # t = np.arange(0., 5., 0.2)
    # plt.plot(t,t,'ro',t,t**2,'bs',t,t**3,'g^')
    # plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #我們除了可以将清單或數組作為參數傳遞給plot()函數外,也可以将numpy.recarray或都pandas.dataframe作為參數傳遞給畫圖函數。
    data = {'a': np.arange(50),
    'c': np.random.randint(0, 50, 50),
    'd': np.random.randn(50)}
    data['b'] = data['a'] + 10 * np.random.randn(50)
    data['d'] = np.abs(data['d']) * 100
    print(data)
    plt.plot('a', 'b', c='c', data=data)
    plt.xlabel('entry a')
    plt.ylabel('entry b')
    plt.show()
               
    結果如下:
    {'a': array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
           17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
           34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]), 'c': array([26, 32, 45, 39,  2,  1,  4,  9, 41, 17, 38, 32,  8,  3,  2, 12,  0,
            4, 27, 32, 10, 12, 10, 36, 23, 11, 42, 18, 37, 45, 14, 43, 31, 44,
            5, 37, 26, 35, 43,  5, 45, 31, 12, 49, 37, 26, 25, 11, 14, 29]), 'd': array([  1.22083272e-01,   1.78439879e+01,   2.29783352e+02,
             8.40916992e+01,   7.95474992e+01,   4.76662632e+01,
             6.93810964e+01,   1.12336788e+02,   2.01802430e+02,
             1.19177008e+02,   1.31071300e+01,   6.45164400e+01,
             4.80412825e+01,   8.83283537e+00,   8.28560367e+01,
             9.76050748e+00,   7.33602035e+01,   5.72575326e+01,
             3.24925094e+01,   1.07727857e+02,   7.94003587e+01,
             1.16468758e+02,   2.27274117e+02,   8.82586786e+01,
             4.85581553e+01,   8.67951289e+01,   1.01248943e+02,
             9.76599161e+01,   1.38962489e+02,   5.85852243e+00,
             1.87686146e+01,   5.03863190e+01,   9.83664599e+01,
             1.37589988e+02,   7.32801664e+01,   7.81689500e+01,
             4.92668463e+01,   1.14667144e+02,   3.10072167e+01,
             3.21267035e+01,   7.46797393e+01,   4.25972111e+01,
             1.36098818e+02,   2.62367002e+01,   5.97591546e+00,
             2.78358717e+01,   7.87738283e+01,   7.54362694e+01,
             5.70029162e+01,   4.69017084e+01]), 'b': array([  0.32196695,   4.44679005,   7.80649333,  -3.30747811,
           -12.6937013 ,  19.31074646,   5.17006608,  -4.245033  ,
            -2.24110886,  29.04232774,  22.3062057 ,   8.7644089 ,
            20.08358342,  18.8999558 ,  11.83399583,   4.13486575,
            22.36307765,  25.90949635,   5.68361081,  24.96937435,
            17.32381062,  14.73049264,  13.34270053,  17.89529685,
            20.7534755 ,  35.35709401,  42.03469385,  35.40389803,
            10.37549346,  30.52072482,  26.61493397,  21.15293271,
            16.03295347,  29.70243431,  22.81049385,  33.10067163,
            30.76116424,  25.45689058,  55.62302644,  34.96587424,
            34.7585544 ,  55.26475006,  18.46266292,  50.94161702,
            23.70363566,  43.50253867,  44.9809545 ,  56.01418569,
            48.24030035,  39.46781572])}
    
    
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    pyplot.plot()的相關屬性如下:
    屬性 功能描述
    xdata 1D array
    ydata 1D array
    marker A valid marker style
    markeredgecolor or mec any matplotlib color
    markeredgewidth or mew float value in points
    markerfacecolor or mfc any matplotlib color
    markerfacecoloralt or mfcalt any matplotlib color
    markersize or ms float
    markevery [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
    linestyle or ls [‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
    color or c any matplotlib color
    linewidth or lw float value in points
    agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
    alpha float (0.0 transparent through 1.0 opaque)
    animated bool
    antialiased or aa [True | False]
    clip_box a Bbox instance
    clip_on bool
    clip_path [(Path, Transform) | Patch | None]
    contains a callable function
    dash_capstyle [‘butt’ | ‘round’ | ‘projecting’]
    dash_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
    dashes sequence of on/off ink in points
    drawstyle [‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’]
    figure a Figure instance
    fillstyle [‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’]
    gid an id string
    label object
    path_effects AbstractPathEffect
    picker float distance in points or callable pick function fn(artist, event)
    pickradius float distance in points
    rasterized bool or None
    sketch_params (scale: float, length: float, randomness: float)
    snap bool or None
    solid_capstyle [‘butt’ | ‘round’ | ‘projecting’]
    solid_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
    transform

    a

    matplotlib.transforms.Transform

    instance

    url a url string
    visible bool
    zorder float

    點和線的樣式如下:

    '-' 	solid line style
    '--' 	dashed line style
    '-.' 	dash-dot line style
    ':' 	dotted line style
    '.' 	point marker
    ',' 	pixel marker
    'o' 	circle marker
    'v' 	triangle_down marker
    '^' 	triangle_up marker
    '<' 	triangle_left marker
    '>' 	triangle_right marker
    '1' 	tri_down marker
    '2' 	tri_up marker
    '3' 	tri_left marker
    '4' 	tri_right marker
    's' 	square marker
    'p' 	pentagon marker
    '*' 	star marker
    'h' 	hexagon1 marker
    'H' 	hexagon2 marker
    '+' 	plus marker
    'x' 	x marker
    'D' 	diamond marker
    'd' 	thin_diamond marker
    '|' 	vline marker
    '_' 	hline marker
               

    設定顔色的參數如下:

    ‘b’ 	blue
    ‘g’ 	green
    ‘r’ 	red
    ‘c’ 	cyan
    ‘m’ 	magenta
    ‘y’ 	yellow
    ‘k’ 	black
    ‘w’ 	white
               

    操縱坐标軸和增加網格及标簽的函數

    plt.grid(True) ##增加格點
    plt.axis('tight') # 坐标軸适應資料量 axis 設定坐标軸
               

    plt.xlim 和 plt.ylim 設定每個坐标軸的最小值和最大值

    plt.xlim(-1,20)
    plt.ylim(np.min(y.cumsum())- 1, np.max(y.cumsum()) + 1)
               

    添加标題和标簽 plt.title, plt.xlabe, plt.ylabel 離散點, 線

    plt.figure(figsize=(7,4)) #畫布大小
    plt.plot(y.cumsum(),'b',lw = 1.5) # 藍色的線
    plt.plot(y.cumsum(),'ro') #離散的點
    plt.grid(True)
    plt.axis('tight')
    plt.xlabel('index')
    plt.ylabel('value')
    plt.title('A simple Plot')
               

    控制坐标标簽字旋轉

    添加圖例 plt.legend(loc = 0)

    plt.legend(loc = 0) #圖例位置自動,會顯示1st,2st,……
    #也可以自己指定
    plt.legend(['2018','2019']) 
               

    使用2個 Y軸(左右)fig, ax1 = plt.subplots() ax2 = ax1.twinx()

    fig, ax1 = plt.subplots() # 關鍵代碼1 plt first data set using first (left) axis
    
    plt.plot(y[:,0], lw = 1.5,label = '1st')
    
    plt.plot(y[:,0], 'ro')
    plt.grid(True)
    plt.legend(loc = 0) #圖例位置自動
    plt.axis('tight')
    plt.xlabel('index')
    plt.ylabel('value')
    plt.title('A simple plot')
    
    ax2 = ax1.twinx()  #關鍵代碼2  plt second data set using second(right) axis
    plt.plot(y[:,1],'g', lw = 1.5, label = '2nd')
    plt.plot(y[:,1], 'ro')
    plt.legend(loc = 0)
    plt.ylabel('value 2nd')
    plt.show()
    
               

    使用兩個子圖(上下,左右)plt.subplot(211)

    plt.figure(figsize=(7,5))
    plt.subplot(211)  #兩行一列,第一個圖
    plt.plot(y[:,0], lw = 1.5,label = '1st')
    plt.plot(y[:,0], 'ro')
    plt.grid(True)
    plt.legend(loc = 0) #圖例位置自動
    plt.axis('tight')
    plt.ylabel('value')
    plt.title('A simple plot')
    
    
    plt.subplot(212) #兩行一列.第二個圖
    plt.plot(y[:,1],'g', lw = 1.5, label = '2nd')
    plt.plot(y[:,1], 'ro')
    plt.grid(True)
    plt.legend(loc = 0)
    plt.xlabel('index')
    plt.ylabel('value 2nd')
    plt.axis('tight')
    plt.show()
               
    左右子圖
    plt.figure(figsize=(10,5))
    plt.subplot(121)  #兩行一列,第一個圖
    plt.plot(y[:,0], lw = 1.5,label = '1st')
    plt.plot(y[:,0], 'ro')
    plt.grid(True)
    plt.legend(loc = 0) #圖例位置自動
    plt.axis('tight')
    plt.xlabel('index')
    plt.ylabel('value')
    plt.title('1st Data Set')
    
    plt.subplot(122)
    plt.bar(np.arange(len(y)), y[:,1],width=0.5, color='g',label = '2nc')
    plt.grid(True)
    plt.legend(loc=0)
    plt.axis('tight')
    plt.xlabel('index')
    plt.title('2nd Data Set')
    plt.show()
               

    pyplot.contourf()及pyplot.contour():

    contour和contourf都是畫三維等高線圖的,不同點在于contourf會對等高線間的區域進行填充。

    等高線由x,y給出坐标位置,第三個參數給出點的高程

    from matplotlib.pyplot import *
    def f(x,y):
        return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
    n = 256
    x = np.linspace(-3,3,n)#點的一系列x坐标
    y = np.linspace(-3,3,n)#點的一系列y坐标
    X,Y = np.meshgrid(x,y)#将x和y組成的點陣變換成x的一組一組坐标和y的一組一組坐标
    contourf(X, Y, f(X,Y), 8, alpha=.75, cmap=cm.hot)#等高線間顔色填充
    C = contour(X, Y, f(X,Y), 8, colors='black', linewidth=.5)#畫等高線
    clabel(C, inline=1, fontsize=10)#标注高程
    show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    pyplot.bar():畫柱狀圖

    # -*- coding: utf-8 -*-
    
    import numpy as np
    from matplotlib import pyplot as plt
    
    plt.figure(figsize=(9, 6))
    n = 8
    X = np.arange(n) + 1
    # X是1,2,3,4,5,6,7,8,柱的個數
    # numpy.random.uniform(low=0.0, high=1.0, size=None), normal
    # uniform均勻分布的随機數,normal是正态分布的随機數,0.5-1均勻分布的數,一共有n個
    Y1 = np.random.uniform(0.5, 1.0, n)
    Y2 = np.random.uniform(0.5, 1.0, n)
    plt.bar(X, Y1, width=0.35, facecolor='lightskyblue', edgecolor='white')
    # width:柱的寬度
    plt.bar(X + 0.35, Y2, width=0.35, facecolor='yellowgreen', edgecolor='white')
    # 水準柱狀圖plt.barh,屬性中寬度width變成了高度height
    # 打兩組資料時用+
    # facecolor柱狀圖裡填充的顔色
    # edgecolor是邊框的顔色
    # 想把一組資料打到下邊,在資料前使用負号
    # plt.bar(X, -Y2, width=width, facecolor='#ff9999', edgecolor='white')
    # 給圖加text
    for x, y in zip(X, Y1):
        plt.text(x + 0.3, y + 0.05, '%.2f' % y, ha='center', va='bottom')
    
    for x, y in zip(X, Y2):
        plt.text(x + 0.6, y + 0.05, '%.2f' % y, ha='center', va='bottom')
    plt.ylim(0, +1.25)
    plt.show()
               
    結果如下所示:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    直方圖 plt.hist

    np.random.seed(2000)
    y = np.random.standard_normal((1000, 2))
    plt.figure(figsize=(7,5))
    plt.hist(y,label=['1st','2nd'],bins=25)
    plt.grid(True)
    plt.xlabel('value')
    plt.ylabel('frequency')
    plt.title('Histogram')
    plt.show()
               

    散點圖(plt.scatter)

    # -*- coding: utf-8 -*-
    import numpy as np
    from matplotlib import pyplot as plt
    
    plt.figure(figsize=(9,6))
    n=1000 #rand 均勻分布和 randn高斯分布
    x=np.random.randn(1,n)
    y=np.random.randn(1,n)
    T=np.arctan2(x,y)
    plt.scatter(x,y,c=T,s=25,alpha=0.4,marker='o')
    #T:散點的顔色
    #s:散點的大小
    #alpha:是透明程度
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    繪制函數

    from matplotlib.patches import Polygon
    import numpy as np
    import matplotlib.pyplot as plt
    
    #1. 定義積分函數
    def func(x):
        return 0.5 * np.exp(x)+1
    
    #2.定義積分區間
    a,b = 0.5, 1.5
    x = np.linspace(0, 2 )
    y = func(x)
    #3.繪制函數圖形
    fig, ax = plt.subplots(figsize=(7,5))
    plt.plot(x,y, 'b',linewidth=2)
    plt.ylim(ymin=0)
    #4.核心, 我們使用Polygon函數生成陰影部分,表示積分面積:
    Ix = np.linspace(a,b)
    Iy = func(Ix)
    verts = [(a,0)] + list(zip(Ix, Iy))+[(b,0)]
    poly = Polygon(verts,facecolor='0.7',edgecolor = '0.5')
    ax.add_patch(poly)
    #5.用plt.text和plt.figtext在圖表上添加數學公式和一些坐标軸标簽。
    plt.text(0.5 *(a+b),1,r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment ='center',fontsize=20)
    plt.figtext(0.9, 0.075,'$x$')
    plt.figtext(0.075, 0.9, '$f(x)$')
    #6. 分别設定x,y刻度标簽的位置。
    ax.set_xticks((a,b))
    ax.set_xticklabels(('$a$','$b$'))
    ax.set_yticks([func(a),func(b)])
    ax.set_yticklabels(('$f(a)$','$f(b)$'))
    plt.grid(True)
               

    matplotlib繪圖設定坐标軸刻度、文本

    參考網址

    matplotlib繪圖填充圖和點陣圖

    http://www.jb51.net/article/112805.htm

    matplotlib更詳細的可參考

    https://blog.csdn.net/sunshine_in_moon/article/details/46573117

    matplotlib.pyplot.imshow如何顯示灰階圖?

    https://www.zhihu.com/question/24058898

    關于matplotlib畫圖時無法顯示中文的問題

    根源在于matplotlib的預設字型并非中文字型,是以我們要手動添加中文字型。網上有好些解決的方案,試了其中一些沒成功。現在其他成功的一種記錄如下。

    第一步:檢視ubuntu系統中的中文字型

    fc-list :lang=zh-cn#注意:号前有一個空格
               
    會看到如下的内容:
    /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing TW MBE:style=Light
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK JP,Noto Sans CJK JP Bold:style=Bold,Regular
    /usr/share/fonts/truetype/arphic/ukai.ttc: AR PL UKai CN:style=Book
    /usr/share/fonts/truetype/arphic/ukai.ttc: AR PL UKai HK:style=Book
    /usr/share/fonts/truetype/arphic/ukai.ttc: AR PL UKai TW:style=Book
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK KR,Noto Sans Mono CJK KR Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Black.ttc: Noto Sans CJK TC,Noto Sans CJK TC Black:style=Black,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Black.ttc: Noto Sans CJK KR,Noto Sans CJK KR Black:style=Black,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK JP,Noto Sans Mono CJK JP Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Medium.ttc: Noto Sans CJK JP,Noto Sans CJK JP Medium:style=Medium,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK JP,Noto Sans CJK JP Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc: Noto Sans CJK KR,Noto Sans CJK KR Light:style=Light,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Black.ttc: Noto Sans CJK SC,Noto Sans CJK SC Black:style=Black,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK TC,Noto Sans Mono CJK TC Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK KR,Noto Sans CJK KR Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc: Noto Sans CJK SC,Noto Sans CJK SC Light:style=Light,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Medium.ttc: Noto Sans CJK KR,Noto Sans CJK KR Medium:style=Medium,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK SC,Noto Sans Mono CJK SC Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK JP,Noto Sans Mono CJK JP Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK TC,Noto Sans CJK TC Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-DemiLight.ttc: Noto Sans CJK JP,Noto Sans CJK JP DemiLight:style=DemiLight,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Thin.ttc: Noto Sans CJK JP,Noto Sans CJK JP Thin:style=Thin,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc: Noto Sans CJK JP,Noto Sans CJK JP Light:style=Light,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Thin.ttc: Noto Sans CJK KR,Noto Sans CJK KR Thin:style=Thin,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK KR,Noto Sans Mono CJK KR Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Thin.ttc: Noto Sans CJK SC,Noto Sans CJK SC Thin:style=Thin,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK SC,Noto Sans CJK SC Bold:style=Bold,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-DemiLight.ttc: Noto Sans CJK TC,Noto Sans CJK TC DemiLight:style=DemiLight,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK SC,Noto Sans CJK SC Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-DemiLight.ttc: Noto Sans CJK SC,Noto Sans CJK SC DemiLight:style=DemiLight,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Medium.ttc: Noto Sans CJK TC,Noto Sans CJK TC Medium:style=Medium,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Black.ttc: Noto Sans CJK JP,Noto Sans CJK JP Black:style=Black,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Medium.ttc: Noto Sans CJK SC,Noto Sans CJK SC Medium:style=Medium,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK TC,Noto Sans CJK TC Regular:style=Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-DemiLight.ttc: Noto Sans CJK KR,Noto Sans CJK KR DemiLight:style=DemiLight,Regular
    /usr/share/fonts/truetype/arphic/ukai.ttc: AR PL UKai TW MBE:style=Book
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK TC,Noto Sans Mono CJK TC Regular:style=Regular
    /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing TW:style=Light
    /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing CN:style=Light
    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK SC,Noto Sans Mono CJK SC Regular:style=Regular
    /usr/share/fonts/truetype/arphic/uming.ttc: AR PL UMing HK:style=Light
    /usr/share/fonts/opentype/noto/NotoSansCJK-Thin.ttc: Noto Sans CJK TC,Noto Sans CJK TC Thin:style=Thin,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc: Noto Sans CJK TC,Noto Sans CJK TC Light:style=Light,Regular
    /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans CJK KR,Noto Sans CJK KR Bold:style=Bold,Regular
               

    我們可以利用這些中文字型來設定matplotlib

    **第二步:在程式中臨時為matplotlib指定中文字型 **

    from matplotlib.font_manager import FontProperties
    zhfont=FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')
    a=np.arange(4,9)
    b=np.arange(2,7)
    plt.plot(a,b)
    plt.xlabel(u'橫坐标',fontproperties=zhfont)
    plt.ylabel(u'縱坐标',fontproperties=zhfont)
    plt.show()
               
    圖例中顯示中文

    matplotlib繪制三維圖

    mplot3d tutorial

    matplotlib繪制三維圖

    python matplotlib子產品——繪制三維圖形、三維資料散點圖

    Matplotlib Toolkits:三維繪圖工具包matplotlib.mplot3d

    3D 繪圖

    python3D繪圖之view_init()中的視角轉換

    在jupyter notebook中由于無法互動式拖拽,是以需要用代碼來控制角度,但在pycharm中可以直接拖拽,就更友善了。

    ax=plt.subplot(projection='3d')#似乎這裡隻能用subplot,不能用plot
    ax.scatter(df["AAAA"].astype(float).values,df["BBBBB"].astype(float).values,df["CCCC"].astype(float).values)
    ax.set_xlabel("AAAA")
    ax.set_ylabel("BBBBB")
    ax.set_zlabel("CCCC")
    plt.show()
    
               

    seaborn庫

    python中最常用的繪圖工具包是matplotlib庫,但是matplotlib中很多參數需要自己設定,靈活但繁瑣,而且常常不知道如何設定(太多要設定的了)。一般來說,seaborn能滿足資料分析90%的繪圖需求,夠用了,如果需要複雜的自

    定義圖形,還是要matplotlit。這裡主要對seaborn庫進行介紹。

    幾個概念,參與該文

  • 分組繪圖
  • 不同的組分别用不同的顔色加以區分。在seaborn中用hue參數控制分組繪圖。
  • 分面繪圖
  • 就是在一張紙上劃分不同的區域,比如2*2的子區域,在不同的子區域上繪制不同的圖形,在matplotlib中就是 add_subplot(2,2,1),在seaborn中用col參數控制,col的全稱是columns,不是color,如果輔助col_wrap參數會更好些。後來發現,co l可以控制columns的子圖,那麼row可以控制rows的子圖排列。如果需要分面繪圖,應該使用seaborn的FacetGrid對象,seaborn的一般的繪圖函 數是沒有分面這個參數的。
  • 統計函數
  • 分組繪圖的時候,會對分組變量先要用統計函數,然後繪圖,比如先計算變量的均值,然後繪制該均值的直方圖。統計繪圖參數是 estimator,很多情況下預設是numpy.mean。 如果不适用統計繪圖,就需要先用pandas進行groupby分組彙總,然後用seaborn繪圖,多此一舉了。 ### 圖形分類 seaborn中圖形大概分這麼幾類,因子變量繪圖,數值變量繪圖,兩變量關系繪圖,時間序列圖,熱力圖,分面繪圖等。 **一、因子變量繪圖** 箱線圖boxplot 小提琴圖violinplot 散點圖striplot 帶分布的散點圖swarmplot 條形圖barplot(應該叫均值條形圖更切合實際) 頻數的直方圖countplot 兩變量關系圖factorplot **二、回歸圖** 探讨兩連續數值變量的變化趨勢情況,繪制x-y的散點圖和回歸曲線。 線性回歸圖lmplot 線性回歸圖regplot **三、分布圖** 包括單變量核密度曲線,直方圖,雙變量多變量的聯合直方圖,和密度圖 **四、熱力圖** heatmap **五、聚類圖** clustermap **六、時間序列圖** 時間序列圖tsplot 時序圖plot_ts_d , plot_ts_m **七、分面繪圖** FacetGrid

    因子變量繪圖

    一、boxplot箱線圖

    個人感覺在因子變量圖裡隻要有countplot和boxplot就行,boxplot對資料的簡單特點展示最全面,再配合countplot或者後面的密度曲線就能說明很多問題。

    **boxplot( x=None, y=None, hue=None, data=None, order=None,hue_order=None, orient=None, color=None, palette=None, saturation=0.75,width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False,ax=None, kwargs )

    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import seaborn as sns
    tips=sns.load_dataset("tips")#應該是資料框的形式
    sns.set_style("whitegrid")#可以設定更多樣式,但也可以不管,為了不增加記憶負擔應該先不管,等想要更漂亮圖的時候再來查詢即可
    #橫着放的箱線圖
    sns.boxplot(x=tips["total_bill"])#隻傳入了x參數,隻會對這個參數統計,并且沿着x軸展示結果
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #豎着放的箱線圖,就是将資料賦給y
    sns.boxplot(y=tips["total_bill"])#隻傳入了y參數,隻會對這個參數統計,并且沿着y軸展示結果
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #分組繪制箱線圖,x為分組因子,y為被統計變量
    sns.boxplot(x="day",y="total_bill",data=tips)#注意之前是直接給出了對應的變量賦給了x或y,沒指明data;這裡是将變量名賦給x,y,然後将整個資料賦給data
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #如果需要進一步分組,可以再加上hue
    sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #修改色調
    sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips,palette="Set3")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 改變線寬,linewidth參數
    sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips,linewidth=3.5)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 改變x軸順序,order參數
    ax=sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips,order=["Sun","Sat","Fri","Thur"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 對dataframe的每個變量都繪制一個箱線圖,水準放置
    ax=sns.boxplot(data=tips,orient="h")#可以看到不傳入x,y參數,就對所有變量進行統計,并畫箱線圖
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 箱線圖+有分布趨勢的散點圖
    # 圖形組合也就是兩條繪圖語句一起運作就可以了,會在之前的圖的基本上繼續畫圖,最後就是疊加效果,更複雜的疊加可以通過參數ax進行控制
    ax=sns.boxplot(x="day",y="total_bill",data=tips)
    ax=sns.swarmplot(x="day",y="total_bill",data=tips,color="0.25")#注意兩個圖形的變量名相同,其實就是同一個畫闆;同時為了區分,需要重新設定繪圖顔色,要不然會沒用上面的顔色,對比就不明顯
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    像下面這樣效果也是一樣的,但是可以進行更好的控制
    # 箱線圖+有分布趨勢的散點圖
    # 圖形組合也就是兩條繪圖語句一起運作就可以了,會在之前的圖的基本上繼續畫圖,最後就是疊加效果,更複雜的疊加可以通過參數ax進行控制
    g=sns.boxplot(x="day",y="total_bill",data=tips)
    ax=sns.swarmplot(x="day",y="total_bill",data=tips,color="0.25",ax=g)#注意兩個圖形的變量名相同,其實就是同一個畫闆;同時為了區分,需要重新設定繪圖顔色,要不然會沒用上面的顔色,對比就不明顯
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    二、violinplot小提琴圖

    小提琴圖其實是箱箱線圖與核核密 圖的結合,箱線圖展示了分位數的位置,小提琴圖則展示了任意位置的密度,通過小提琴圖可以知道哪些位置的密度較高。在圖中,白點是中位數,黑色盒型的範圍是下四分位點到上四分位點,細黑線表示須。外部形狀即為核密度估計(在機率論中用來估計未知的密度函數,屬于非參數檢驗方法之一)。

    **violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, bw=‘scott’, cut=2, scale=‘area’, scale_hue=True, gridsize=100, width=0.8, inner=‘box’, split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None, saturation=0.75, ax=None, kwargs)

    violinplot與boxplot的使用方法一模一樣,下面隻舉一個例子

    #分組展示violinplot
    ax=sns.violinplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    注意看violinplot中的白點即中位數,粗線兩端即為上下四分位數,細線即為胡須,外邊包裹的圖案即顯示了資料的密度分布。其實用boxplot和swarmplot疊加效果一樣,顯示的還更清晰。

    三、stripplot散點圖

    seaborn中有兩個散點圖,一個是普通的散點圖即stripplot,另一個是可以看出分布密度的散點圖即swarmplot。其實stripplot也能一定程式上反映出密度分布,swarmplot相當于是二維的點,而stripplot相當于是swarmplot在一維上的投影

    stripplot([x, y, hue, data, order, …]

    #水準設定的一維散點圖
    ax=sns.stripplot(x=tips["total_bill"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #水準設定的一維散點圖
    ax1=sns.stripplot(x=tips["total_bill"])
    # 我們可以将兩種散點畫在一起進行對比(帶分布密度的散點圖)
    ax2 = sns.swarmplot(x=tips["total_bill"],color="r")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 分組的散點圖
    ax=sns.stripplot(x="day",y="total_bill",data=tips)
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 添加抖動項的散點圖,jitter可以是0.1,0.2...這樣的小數,表示抖動的程度大小。但是不了解為要抖動,我們畫圖不就是為了展示資料本來的特點嗎?
    ax=sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #将圖像橫着顯示隻要對調x,y的值,即可
    ax=sns.stripplot(x="total_bill",y="day",data=tips,jitter=True)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #分組後再分開,方法同之前,再加上hue即可,同時可以通過split參數控制組内分組是堆在一起用顔色來區分還是組内分組也分開。
    #組内分給不分開,以顔色區分
    ax=sns.stripplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #組内分組分開
    ax=sns.stripplot(x="day",y="total_bill",hue="smoker",data=tips,split=True)#注意在boxplot中是預設分開的,而在stripplot中需要自己設定
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 散點圖+小提起圖
    ax=sns.stripplot(x="day",y="total_bill",data=tips)
    ax=sns.violinplot(x="day",y="total_bill",data=tips,color="0.8")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    個人還是覺得boxplot+swarmplot是能觀察得最清楚的。

    四、swarmplot帶分布的散點圖

    資料點不像stripplot一樣會産生重疊,swarmplt的參數和用法和stripplot的用法是一樣的,隻是表現形式不一樣而已。

    **swarmplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=‘gray’, linewidth=0, ax=None, kwargs)

    這裡也隻舉一個例子。

    # 箱線圖+散點圖
    ax=sns.boxplot(x="day",y="total_bill",data=tips)
    ax=sns.swarmplot(x="day",y="total_bill",data=tips,color="0.2")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    五、pointplot統計名額點圖

    統計名額點圖,顯示某統計變量值和置信區間(誤差範圍)。

    **pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=, ci=95, n_boot=1000, units=None, markers=‘o’, linestyles=’-’, dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None, capsize=None, ax=None, kwargs)

    預設繪制的是變量的均值和均值的置信區間 estimator=np.mean,可以自己設定成中值。max、median、min 等,與barplot功能類似,但是比barplot給出的資訊更豐富,比如不同組之間均值的變化趨勢,同時也更便于肉眼觀察差别。

    #統計名額點圖
    #先看最簡單的情形
    ax=sns.pointplot(x=tips["total_bill"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #分組再分組,再分組錯開圖
    ax=sns.pointplot(x="day",y="total_bill",hue="smoker",data=tips,dodge=True)#dodge參數表示分組錯開
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    六、barplot條形圖

    預設繪制的是變量的均值和均值的置信區間 estimator=np.mean,可以自己設定成中值。max、median、min 等

    設定ci=0可以使上方的置信區間線不顯示。

    **barplot( x=None, y=None, hue=None, data=None, order=None,hue_order=None, estimator= , ci=95, n_boot=1000, units=None,orient=None, color=None, palette=None, saturation=0.75, errcolor=’.26’,errwidth=None, capsize=None, dodge=True, ax=None, kwargs )

    這裡也隻舉一個例子

    # 分組的條形圖
    ax=sns.barplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    七、countplot頻數直方圖

    對因子變量(分組)計數,然後繪制條形圖。

    **countplot( x=None, y=None, hue=None, data=None, order=None,hue_order=None, orient=None, color=None, palette=None, saturation=0.75,dodge=True, ax=None, kwargs )

    #先繪制一個最簡單的頻率直方圖
    ax=sns.countplot(x="day",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #橫着繪制
    ax=sns.countplot(y="day",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #分組繪制
    ax=sns.countplot(x="day",hue="smoker",data=tips)#注意與其他因子變量不同,countplot不能同時給x、y指派,之前的函數同時有xy時,是按x的分組來統計y的分布,再加上hue來分組;而countplot是對x或y進行個數統計,再加上hue來區分組别
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    八、lvplot

    **lvplot( x=None, y=None, hue=None, data=None, order=None,hue_order=None, orient=None, color=None, palette=None, saturation=0.75,width=0.8, dodge=True, k_depth=‘proportion’, linewidth=None, scale=‘exponential’,outlier_prop=None, ax=None, kwargs )

    #lvpolt的功能與boxplot和violinplot類似,但是更容易繪制,函數的使用方法也一樣,這裡隻舉一個例子
    ax=sns.lvplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    九、factorplot

    這是一類重要的變量聯合繪圖。繪制因子變量-數值變量的分布情況圖。通過設定kind參數可以繪制不同的圖形。相當于它綜合了其他因子變量繪圖函數的功能,其實觀察這些繪圖函數會發現它們傳入的參數,參數功能幾乎一樣(除了countplot不能同時傳x、y),隻是完成的統計功能不一樣;

    **factorplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=, ci=95, n_boot=1000, units=None, order=None, hue_order=None, row_order=None, col_order=None, kind=‘point’, size=4, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, kwargs)

    #不設定kind參數檢視factorplot會圖出什麼樣的圖
    ax=sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    可以看到預設情況下,它畫的是pointplot圖
    #我們也可以畫其他類型的圖
    ax=sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="box")
    plt.show()  
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #通過加入參數col可以實作繪圖的分校,相當于在分組的基礎上再分組,然後再分組,而且是與并排的兩幅圖的形式展現
    ax=sns.factorplot(x="day",y="total_bill",hue="smoker",col="sex",data=tips,kind="swarm",split=True)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #col_wrap控制每行畫圖個數
    titanic = sns.load_dataset("titanic")
    g = sns.factorplot(x="alive", col="deck", col_wrap=4, data=titanic[titanic.deck.notnull()],kind="count", size=2.5, aspect=.8)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #通過row參數設定子圖為橫排,與col參數相對應
    ax=sns.factorplot(x="day",y="total_bill",hue="smoker",row="sex",data=tips,kind="swarm",split=True)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    當然還可以進一步的設定樣本,達到更好的效果

    回歸圖

    一、回歸圖lmplot

    lmplot( x, y, data, hue=None, col=None, row=None, palette=None,col_wrap=None, size=5, aspect=1, markers=‘o’, sharex=True, sharey=True,hue_order=None, col_order=None, row_order=None, legend=True,legend_out=True,x_estimator=None, x_bins=None, x_ci=‘ci’, scatter=True, fit_reg=True, ci=95,n_boot=1000, units=None, order=1, logistic=False, lowess=False, robust=False,logx=False, x_partial=None, y_partial=None, truncate=False, x_jitter=None,y_jitter=None, scatter_kws=None, line_kws=None )

    畫原始資料的散點圖和線性回歸曲線。

    #畫線性回歸圖
    ax=sns.lmplot(x="total_bill",y="tip",data=tips)#其實還可以通過order參數來選擇回歸模型,一階就是線性,2階就是抛物線型
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    ## 分組的線性回歸圖,通過hue參數控制
    ax=sns.lmplot(x="total_bill",y="tip",hue="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #整個seaborn裡不同組預設都會用不同顔色來辨別,但也可以再通過markers來用不同形狀來辨別。
    ax=sns.lmplot(x="total_bill",y="tip",hue="smoker",data=tips,markers=["o","*"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #也可以通過用col參數控制來用不同子圖來顯示不同分組
    ax=sns.lmplot(x="total_bill",y="tip",col="smoker",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #col+hue 雙分組參數,既分組,又分子圖繪制
    ax=sns.lmplot(x="size",y="total_bill",hue="day",col="day",data=tips)#感覺多此一舉啊,隻是顔色多一點
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #同樣可以通過l_wrap來顯示每行顯示的子圖個數, size來控制子圖的尺寸
    ax=sns.lmplot(x="size",y="total_bill",hue="day",col="day",data=tips,col_wrap=2,size=3)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #同時使用row和col來控制子圖
    ax=sns.lmplot(x="size",y="total_bill",row="sex",col="time",data=tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    二、回歸圖regplot

    regplot(x, y, data=None, x_estimator=None, x_bins=None, x_ci=‘ci’, scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=False, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker=‘o’, scatter_kws=None, line_kws=None, ax=None)

    繪制兩變量的回歸曲線

    #regplot的用法同lmplot
    ax=sns.regplot(x="tip",y="total_bill",data=tips,color="g",marker="+")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #通過參數ci控制回歸的置信度,拟合直線的外面的面積會有變化
    ax=sns.regplot(x="tip",y="total_bill",data=tips,ci=68)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    # 上面的都是拟合一次曲線,拟合二次曲線通過order=2設定,
    # 拟合一次曲線相當于 order=1
    ans = sns.load_dataset("anscombe")
    ax = sns.regplot(x="x", y="y", data=ans.loc[ans.dataset == "II"],scatter_kws={"s": 80},order=2, ci=None, truncate=True)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    數值分布繪圖

    一、直方圖distplot

    distplot( a, bins=None, hist=True, kde=True, rug=False, fit=None,hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None,vertical=False, norm_hist=False, axlabel=None, label=None, ax=None )

    Flexibly plot a univariate distribution of observations.

    預設情況直方圖hist=True,核密度曲線kde=True

    # 預設既繪制核密度曲線,也繪制直方圖
    import seaborn as sns, numpy as np
    np.random.seed(0)
    x=np.random.randn(100)
    ax=sns.distplot(x)#distplot跟之前的因子變量圖和回歸曲線不一樣,這裡資料參數隻有x,沒有y和data。a的資料類型可以為Series, 1d-array, or list.
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #更改資料類型為pandas.series
    import pandas as pd
    x=pd.Series(x,name="x variable")
    ax=sns.distplot(x)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #畫密度曲線和須邊,不知道這須邊幹嘛用的
    ax=sns.distplot(x,rug=True,hist=False)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #将密度曲線拟合成高斯分布
    from scipy.stats import norm
    ax=sns.distplot(x,fit=norm)#可以看到同時有兩條密度曲線
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #隻畫高斯曲線,去除預設密度曲線
    from scipy.stats import norm
    ax=sns.distplot(x,fit=norm,kde=False)#可以看到同時有兩條密度曲線
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #将圖形倒置并設定顔色
    ax=sns.distplot(x,vertical=True,color="y")
    plt.show()
               
    如果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    二、核密度圖kdeplot

    **kdeplot( data, data2=None, shade=False, vertical=False, kernel=‘gau’,bw=‘scott’, gridsize=100, cut=3, clip=None, legend=True, cumulative=False,shade_lowest=True, cbar=False, cbar_ax=None, cbar_kws=None, ax=None,kwargs )

    #畫核密度圖
    mean, cov = [0, 2], [(1, .5), (.5, 1)]
    x, y = np.random.multivariate_normal(mean, cov, size=50).T
    ax=sns.kdeplot(x)#最簡單的情形
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #加陰影并改變顔色
    ax=sns.kdeplot(x,shade=True,color="r")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #還可以畫二維的密度圖
    ax=sns.kdeplot(x,y)#可以相像成等高線圖,越密的地方資料點越多
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #加上陰影
    ax=sns.kdeplot(x,y,shade=True)#二維密度曲線加上陰影就相當漂亮了
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    還可以進行更複雜的設定,請參考官網

    三、rugplot

    **rugplot(a, height=0.05, axis=‘x’, ax=None, kwargs)

    Plot datapoints in an array as sticks on an axis.

    四、雙變量關系組合圖jointplot

    joint,就是聯合呀,将多種統計效果在一張圖上反映

    kind參數可以使用不同的圖形反應兩變量的關系,比如點圖,線圖,核密度圖。

    **jointplot(x, y, data=None, kind=‘scatter’, stat_func=, color=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, joint_kws=None, marginal_kws=None, annot_kws=None, kwargs)

    #畫一個最簡單的組合圖
    ax=sns.jointplot(x="total_bill",y="tip",data=tips)#中間畫的是散點圖,邊上畫着對應變量的頻率直方圖
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #通過kind="reg"加上回歸線和密度線
    ax=sns.jointplot(x="total_bill",y="tip",data=tips,kind="reg")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #換其他樣式
    ax=sns.jointplot(x="total_bill",y="tip",data=tips,kind="hex")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #換密度圖
    ax=sns.jointplot(x="total_bill",y="tip",data=tips,kind="kde")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #主圖中預設會标繪兩變量之間的皮爾遜相關系數和p值,可以通過參數stat_func進行更改
    from scipy.stats import spearmanr
    ax=sns.jointplot(x="total_bill",y="tip",data=tips,stat_func=spearmanr)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #在原有圖形上添加密度曲線
    ax=sns.jointplot(x="total_bill",y="tip",data=tips).plot_joint(sns.kdeplot)#這意味着其他圖形也可以通過這種操作得到更複雜的圖形
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    其他更複雜情形請參考官網

    五、JointGrid

    JointGrid(x, y, data=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None)

    JointGrid可以實作jointplot類似的功能,隻不過它本身隻能畫一個界面,如下,但可以配合matplotlib.pyplot的功能進行複雜繪圖。

    #繪制成對變量界面
    ax=sns.JointGrid(x="total_bill", y="tip", data=tips)
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #配合其他函數繪圖
    ax=sns.JointGrid(x="total_bill",y="tip",data=tips)
    ax=ax.plot(sns.regplot,sns.distplot)
    plt.show()
               
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    更複雜繪圖參考官網

    六、變量關系組圖pairplot

    就是繪制dataframe中各個變量兩兩之間的關系圖,如果是自己與自己則畫頻率直方圖。

    在變量關系圖中,最常見的就是 x-y的線圖,x-y的散點圖,x-y的回歸圖。其實這三者都可以通過lmplot繪制,隻是控制不同的參數而已。x-y的線圖,其實就是時間序列圖。

    這裡又說一遍散點圖,是為了和前面的因子變量散點圖相區分,前面的因子變量散點圖,講的是不同因子水準的值繪制的散點圖,而這裡是兩個數值變量值散點圖關系。為什麼要用lmplot呢,說白了就是,先将這些散點畫出來,然後在根據散點的

    分布情況拟合出一條直線。

    pairplot(data, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind=‘scatter’, diag_kind=‘hist’, markers=None, size=2.5, aspect=1, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None)

    #畫兩兩之間的散點圖
    ax=sns.pairplot(tips)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #加上hue可以對不同組進行區分,預設以顔色區分
    ax=sns.pairplot(tips,hue="size")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #也可以畫子圖
    ax=sns.pairplot(tips,vars=["total_bill","tip"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #可以單獨設定x和y軸上的變量
    ax=sns.pairplot(tips,x_vars=["total_bill","tip"],y_vars=["tip","size"])
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #diag_kind設定對角線的統計類型
    ax=sns.pairplot(tips,diag_kind="kde")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #設定非對角線的統計内容
    ax=sns.pairplot(tips,kind="reg")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    矩陣圖

    一、熱力圖heatmap

    **heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=‘white’, cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels=‘auto’, yticklabels=‘auto’, mask=None, ax=None, kwargs)

    熱力圖是對二維矩陣資料進行顔色标注的,二維矩陣行列索引自然就能定位,就可以根據對應的值來進行顔色标注。如果再配合相關系數等的計算,我們直接看顔色深淺就可以看到不同變量之間相關系數的大小。

    #熱力圖
    np.random.seed(0)
    uniform_data = np.random.rand(10, 12)
    ax=sns.heatmap(uniform_data)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #限定标注值的範圍,如果超出這個範圍,就按邊界值進行顔色标繪
    ax=sns.heatmap(uniform_data,vmin=0,vmax=1)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #将顔色範圍的中心對應的值設定為0,很明顯這種繪圖方法适合于中心化後的資料或者資料是以0為中心波動的。
    normal_data = np.random.randn(10, 12)
    ax=sns.heatmap(normal_data,center=0)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #行列标簽用行列名稱來标注,關鍵看資料的結構如何,對于資料框行列标注自然有對應行列名
    flights = sns.load_dataset("flights")
    flights=flights.pivot("month","year","passengers")#pivot函數的功能就是構造行列為month\year,值為passengers的資料框
    ax=sns.heatmap(flights)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #在每一個元素位置上标上相應的值
    ax=sns.heatmap(flights,annot=True,fmt="d")#annot參數表示進行标注,fmt參數進行标注資料的格式,預設是指數形式,這裡d表示十進制
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    更複雜熱力圖請參考官網

    二、聚類圖clustermap

    **clustermap( data, pivot_kws=None, method=‘average’,metric=‘euclidean’, z_score=None, standard_scale=None, figsize=None,cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None,col_linkage=None, row_colors=None, col_colors=None, mask=None, kwargs )

    Plot a matrix dataset as a hierarchically-clustered heatmap.

    時間序列圖

    一、tsplot時序圖

    tsplot函數說是繪制時間序列圖,還不如說是繪制簡單的線圖更加合适,繪制帶timestap時間索引的pandas.Series時,并沒有自動升采樣繪圖,隻是資料有有什麼資料就畫什麼,這在時間序列上應該是不對的。

    **tsplot( data, time=None, unit=None, condition=None, value=None,err_style=‘ci_band’, ci=68, interpolate=True, color=None, estimator=, n_boot=5000, err_palette=None, err_kws=None, legend=True, ax=None,kwargs )

    #時間序列圖
    x = np.linspace(0, 15, 31)
    data = np.sin(x) + np.random.rand(10, 31) + np.random.randn(10,1)
    ax=sns.tsplot(data=data)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    gammas = sns.load_dataset("gammas")
    ax = sns.tsplot(time="timepoint", value="BOLD signal",unit="subject", condition="ROI",data=gammas)
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    時序等以後要用再來仔細摸索下,關鍵是把輸入的資料格式搞清楚

    二、panda線圖

    pandas的dataframe本身也有繪圖函數,對于常見的分析圖形還是很友善的,而且可以在plot函數中指定title等

    三、采樣的時序圖

    這裡重點講一下。如果時序中每天的資料都有還好說,如果沒有,就需要采樣了。

    四、pandas分組的線圖

    主要注意的是,盡量給dataframe或者series建立時間索引,不然x軸很難看的。

    分面子圖繪圖

    一、FacetGrid分面子圖

    FacetGrid( data, row=None, col=None, hue=None,col_wrap=None, sharex=True, sharey=True, size=3, aspect=1, palette=None,row_order=None, col_order=None, hue_order=None, hue_kws=None, dropna=True,legend_out=True, despine=True, margin_titles=False, xlim=None, ylim=None,subplot_kws=None, gridspec_kws=None )

    #FaceGrid可以當成是一個半成品,繪制子圖的界面,如下所示
    ax=sns.FacetGrid(tips,col="time",row="smoker")
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例
    #如果要畫某種圖可借助其他函數進一步操作
    ax=sns.FacetGrid(tips,col="time",row="smoker")
    ax=ax.map(plt.hist,"total_bill")#注意這裡借助了matplotlib.pyplot.hist來畫圖,要得到一種統計結果,我們要設定的東西更多,但也使得能夠滿足一些個性比的需求
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    更複雜的圖像參考官網

    二、PairGrid成對分面圖

    PairGrid與FaceGrid類似,隻是畫出變量對之間的界面,至于界面上展示什麼樣的統計内容需要自己進行設定。

    雙坐标軸圖

    将不同尺度的資料畫在一塊就可能用到雙坐标軸圖
    sale=pd.Series(np.random.random(10)*100).map(int)
    tmperature=pd.Series(np.random.random(10)*10).map(int)
    ax=plt.subplot(111)
    sale.plot(ax=ax,color='b')
    ax.set_xlabel('time')
    ax.set_ylabel('sale')
    # 重點來了,twinx 或者 twiny 函數
    ax2 = ax.twinx()
    tmperature.plot(ax=ax2,color='r')
    ax2.set_ylabel('tmperature')
    plt.title('double series figure')
    plt.show()
               
    結果如下:
    資料基礎---資料可視化python中資料可視化大資料呈現為可視化的圖和動畫比肩大片的Excel地圖可視化技術 百度可視化元件Echarts或其他元件Python調用高德地圖API實作經緯度換算、地圖可視化tensorflow學習過程的可視化基于Zeppelin 的資料分析可視化FineReport的資料可視化基于tableau 的資料可視化基于superset的資料可視化基于lumina 的資料可視化qlik 全球最專業的商業智能BI軟體H2O:用作大資料統計的分析引擎Datameer可視化應用案例

    分段統計繪圖

    顔色主題

    set_palette(palette[, n_colors, desat, …])

    Set the matplotlib color cycle using a seaborn palette.

    color_palette([palette, n_colors, desat])

    Return a list of colors defining a color palette.

    husl_palette([n_colors, h, s, l])

    Get a set of evenly spaced colors in HUSL hue space.

    hls_palette([n_colors, h, l, s])

    Get a set of evenly spaced colors in HLS hue space.

    cubehelix_palette([n_colors, start, rot, …])

    Make a sequential palette from the cubehelix system.

    dark_palette(color[, n_colors, reverse, …])

    Make a sequential palette that blends from dark to color .

    light_palette(color[, n_colors, reverse, …])

    Make a sequential palette that blends from light to color .

    diverging_palette(h_neg, h_pos[, s, l, sep, …])

    Make a diverging palette between two HUSL colors.

    blend_palette(colors[, n_colors, as_cmap, input])

    Make a palette that blends between a list of colors.

    xkcd_palette(colors)

    Make a palette with color names from the xkcd color survey.

    crayon_palette(colors)

    Make a palette with color names from Crayola crayons.

    mpl_palette(name[, n_colors])

    Return discrete colors from a matplotlib palette.

    choose_colorbrewer_palette(data_type[, as_cmap])

    Select a palette from the ColorBrewer set.

    choose_cubehelix_palette([as_cmap])

    Launch an interactive widget to create a sequential cubehelix palette.

    choose_light_palette([input, as_cmap])

    Launch an interactive widget to create a light sequential palette.

    choose_dark_palette([input, as_cmap])

    Launch an interactive widget to create a dark sequential palette.

    choose_diverging_palette([as_cmap])

    Launch an interactive widget to choose a diverging color palette.

    despine([fig, ax, top, right, left, bottom, …])

    Remove the top and right spines from plot(s).

    desaturate(color, prop)

    Decrease the saturation channel of a color by some percent.

    saturate(color)

    Return a fully saturated color with the same hue.

    set_hls_values(color[, h, l, s])

    Independently manipulate the h, l, or s channels of a color.

    樣式設定類

    set([context, style, palette, font, …])

    Set aesthetic parameters in one step.

    axes_style([style, rc])

    Return a parameter dict for the aesthetic style of the plots.

    set_style([style, rc])

    Set the aesthetic style of the plots.

    **plotting_context([context, font_scale, rc]) **

    Return a parameter dict to scale elements of the figure.

    set_context([context, font_scale, rc])

    Set the plotting context parameters.

    set_color_codes([palette])

    Change how matplotlib color shorthands are interpreted.

    reset_defaults()

    Restore all RC params to default settings.

    reset_orig()

    Restore all RC params to original settings (respects custom rc).

    圖像顔色和尺寸設定Miscellaneous plots

    palplot(pal[, size])

    Plot the values in a color palette as a horizontal array.

    圖形格式選項

    圖形參數 style

    圖形的屬性

    1.color:顔色

    1.1 r:紅色

    1.2 b:藍色

    1.3 g:綠色

    1.3 y:⻩色

    2.資料标記markder

    2.1 o:圓圈

    2.2 .:圓點

    2.3 d:棱形

    3.線型linestyle

    3.1 沒有參數的話就是預設畫點圖

    3.2 --:虛線

    3.3 -:實線

    4.透明度

    alpha

    5.大小

    size

    python中matplotlib的顔色及線條控制

    Python繪圖總結(Matplotlib篇)之畫布、顔色、及樣式

    一些技巧

    一、批量儲存圖檔

    二、顯示中文問題

    圖像 - 灰階化、灰階反轉、二值化

    參考http://www.cnblogs.com/DuanLaoYe/p/5386146.html

    plotly:比 matplotlib 效率高十倍的資料可視化神器

    pyecharts:30分鐘學會pyecharts資料可視化

    大資料呈現為可視化的圖和動畫

    來源

    比肩大片的Excel地圖可視化技術

    可視化必備的Excel技能之一

    怎麼在 Excel 上做資料地圖?

    百度可視化元件Echarts或其他元件

    百度echarts

    八款卓越開源工具幫你搞定資料可視化難題

    漂亮的跨浏覽器資料可視化圖表庫 TOAST UI Chart | 軟體推介

    Python調用高德地圖API實作經緯度換算、地圖可視化

    tensorflow學習過程的可視化

    這個可視化與資料展示的可視化不一樣,這裡是對學習的節點,不同參數下的結果,效果評估曲線等的展示,都是圍繞學習訓練過程來的。

    https://segmentfault.com/a/1190000008302430

    https://blog.csdn.net/jerry81333/article/details/53004903

    https://blog.csdn.net/xierhacker/article/details/53697515

    http://wiki.jikexueyuan.com/project/tensorflow-zh/how_tos/graph_viz.html

    基于Zeppelin 的資料分析可視化

    Hadoop - Zeppelin 使用心得

    FineReport的資料可視化

    來源

    基于tableau 的資料可視化

    Tableau教程

    教程:Tableau Desktop 入門指南

    tableau教育訓練與教程

    基于superset的資料可視化

    superset安裝部署及簡單使用

    資料可視化的開源方案: Superset vs Redash vs Metabase (一)

    基于lumina 的資料可視化

    qlik 全球最專業的商業智能BI軟體

    Data Analytics for Modern Business Intelligence | Qlik

    H2O:用作大資料統計的分析引擎

    h2o.ai

    h2o-3/h2o-py/README.md

    Datameer

    Hadoop傻瓜化:Datameer大資料收入翻三番

    可視化應用案例

    孫正義:未來30年的人工智能和物聯

    如何将枯燥的大資料呈現為可視化的圖和動畫?

    (更新完整演講視訊)Mary Meeker 2014網際網路趨勢報告 [收藏版]

    Storytelling with Data Visualization

    爬取了 31502 條北京自如租房資料,看看是否居者有其屋?

    python資料分析:攜程出行産品預測未來14個月銷量