­

Python-科學計算-seaborn-02-熱力圖

  • 2019 年 12 月 11 日
  • 筆記

系統:Windows 7 語言版本:Anaconda3-4.3.0.1-Windows-x86_64 編輯器:pycharm-community-2016.3.2

  • 這個系列講講Python的科學計算版塊
  • 今天講講seaborn模組:熱力圖

Part 1:示例

  1. 已知df_1,有4列["p1", "p2", "p3", "p4"]
  2. 根據這4列做熱力圖,結果如下圖

熱力圖

Part 2:程式碼

import pandas as pd  import seaborn as sns  from matplotlib import pyplot as plt    dict_1 = {      "p1": [0.5, 0.8, 1.0, 1.2, 1.5, 2.5, 0.9, 0.6, 1.3, 1.0,             1.3, 1.6, 1.9, 2.5, 4.2, 3.5, 2.2, 1.2, 1.5, 0.5],      "p2": [1.3, 2.8, 1.3, 1.4, 6.5, 2.5, 0.9, 0.6, 1.3, 1.0,             1.3, 1.6, 1.9, 2.5, 4.2, 3.5, 1.2, 1.2, 3.5, 2.5],      "p3": [2.5, 0.8, 1.3, 1.2, 1.5, 2.8, 1.9, 0.6, 1.3, 1.1,             1.3, 1.6, 1.1, 2.5, 4.2, 3.9, 2.2, 1.2, 1.5, 0.5],      "p4": [2.5, 0.8, 1.3, 1.2, 1.5, 3.8, 1.9, 0.6, 1.3, 1.1,             1.3, 1.6, 1.1, 2.5, 4.2, 3.9, 2.2, 1.2, 1.5, 0.5]}    df_1 = pd.DataFrame(dict_1, columns=["p1", "p2", "p3", "p4"])  print(df_1)    sns.set(style="ticks", color_codes=True)  sns.heatmap(df_1, linewidths=0.05, linecolor='yellow', vmin=0, vmax=5, annot=True)    plt.show()    

程式碼截圖

df_1

Part 3:部分程式碼解讀

  1. sns.heatmap(df_1, linewidths=0.05, linecolor='yellow', vmin=0, vmax=5, annot=True)
    • linewidths設置每個單元格的線寬
    • linecolor設置單元格線框的顏色
    • vmin=0, vmax=5設置顏色區間的最小最大值
    • annot=True在每個單元格中顯示具體的數值
  2. 如果對於生成的熱力圖顏色不是很喜歡,可以更改,通過增加一個新參數cmap,該參數取值不同時,顏色地圖也不同
    • sns.heatmap(df_1, linewidths=0.05, linecolor='yellow', vmin=0, vmax=5, annot=True, cmap="hot_r")

cmap=」hot_r」效果圖

cmap=」YlGnBu」效果圖

本文為原創作品,歡迎分享朋友圈