日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python - Seaborn可视化:图形个性化设置的几个小技巧

發布時間:2023/12/18 python 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python - Seaborn可视化:图形个性化设置的几个小技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1 概述

在可視化過程中,經常會對默認的制圖效果不滿意,希望能個性化進行各種設置。

本文通過一個簡單的示例,來介紹seaborn可視化過程中的個性化設置。包括常用的設置,如:

  • 設置圖表顯示顏色
  • 設置圖表標題,包括顯示位置,字體大小,顏色等
  • 設置x軸和y軸標題,包括顏色,字體大小
  • 設置x軸和y軸刻度內容,包括顏色、字體大小、字體方向等
  • 將x軸和y軸內容逆序顯示
  • 設置x軸或y軸顯示位置
  • 本文的運行環境:

  • windows 7
  • python 3.5
  • jupyter notebook
  • seaborn 0.7.1
  • matplotlib 2.0.2
  • 2 未個性化設置的情形

    本文的數據來自UCI的數據集”sonar”,用pandas直接讀取數據。如下:

    import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inlinetarget_url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data' df = pd.read_csv(target_url, header=None, prefix='V') corr = df.corr()

    首先來看看沒有進行個性化設置時的顯示情況,如下:

    f, ax= plt.subplots(figsize = (14, 10))sns.heatmap(corr,cmap='RdBu', linewidths = 0.05, ax = ax)# 設置Axes的標題 ax.set_title('Correlation between features')f.savefig('sns_style_origin.jpg', dpi=100, bbox_inches='tight')

    圖片顯示效果如下:

    seaborn制圖的默認效果其實還是不錯的。

    3 進行個性化設置

    對于上面這張圖,可能讓y軸從下到上,從v0開始顯示,這樣顯示出來的對角線可能更符合我們的視覺顯示效果。

    這就要用到 將y軸內容進行可逆顯示,涉及的代碼如下:

    # 將y軸或x軸進行逆序 ax.invert_yaxis() # ax.invert_xaxis()

    其他的個性化設置的代碼,包括:

    將x軸刻度放置在top位置的幾種方法

    # 將x軸刻度放置在top位置的幾種方法 # ax.xaxis.set_ticks_position('top') ax.xaxis.tick_top() # ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x軸

    設置坐標軸刻度參數,”axis”不寫的時候,默認是x軸和y軸的參數同時調整。

    # 設置坐標軸刻度的字體大小 # matplotlib.axes.Axes.tick_params ax.tick_params(axis='y',labelsize=8) # y軸

    旋轉軸刻度上文字方向的兩種方法

    # 旋轉軸刻度上文字方向的兩種方法 ax.set_xticklabels(ax.get_xticklabels(), rotation=-90) # ax.set_xticklabels(corr.index, rotation=90)

    保存圖片,設置bbox_inches=’tight’,保存的圖片則不會出現部分內容顯示不全的現象。

    f.savefig('sns_style_update.jpg', dpi=100, bbox_inches='tight')

    整合好的代碼如下,大家可以運行試試效果。

    f, ax = plt.subplots(figsize = (14, 10))# 設置顏色 cmap = sns.cubehelix_palette(start = 1, rot = 3, gamma=0.8, as_cmap = True)# color: https://matplotlib.org/users/colormaps.html sns.heatmap(corr,cmap='RdBu', linewidths = 0.05, ax = ax)# 設置Axes的標題 ax.set_title('Correlation between features', fontsize=18, position=(0.5,1.05))# 將y軸或x軸進行逆序 ax.invert_yaxis() # ax.invert_xaxis()ax.set_xlabel('X Label',fontsize=10)# 設置Y軸標簽的字體大小和字體顏色 ax.set_ylabel('Y Label',fontsize=15, color='r')# 設置坐標軸刻度的字體大小 # matplotlib.axes.Axes.tick_params ax.tick_params(axis='y',labelsize=8) # y軸 # ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x軸# 將x軸刻度放置在top位置的幾種方法 # ax.xaxis.set_ticks_position('top') ax.xaxis.tick_top() # ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x軸# 修改tick的字體顏色 # ax.tick_params(axis='x', colors='b') # x軸# 旋轉軸刻度上文字方向的兩種方法 ax.set_xticklabels(ax.get_xticklabels(), rotation=-90) # ax.set_xticklabels(corr.index, rotation=90)# 單獨設置y軸或x軸刻度的字體大小, 調整字體方向 # ax.set_yticklabels(ax.get_yticklabels(),fontsize=6) # ax.set_xticklabels(ax.get_xticklabels(), rotation=-90)f.savefig('sns_style_update.jpg', dpi=100, bbox_inches='tight')

    圖形顯示效果如下:

    這些個性化的設置,其實大部分都是使用的matplotlib的內容,seaborn是基于matplotlib衍生的,所以可以跟matplotlib進行融合使用。

    當然,并不是每次都需要進行個性定制,具體可以根據自己的需求來設置。

    如果您喜歡我的文章,歡迎關注微信公眾號“Python數據之道”(ID:PyDataRoad

    ?

    轉載于:https://www.cnblogs.com/lemonbit/p/7419851.html

    總結

    以上是生活随笔為你收集整理的Python - Seaborn可视化:图形个性化设置的几个小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。