我需要對使用 matplotlib 獲得的熱圖顏色條的標簽和刻度進行定制,但到目前為止沒有成功。我的資料已經發布,可以在以下位置找到:[1] [1]: Incomplete plt.show() figure from pandas dataframe
我的作業代碼:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
df = pd.read_csv("deltaGdata.csv")
df1 = df[['VARIANT', 'DDgun','mCSM', 'SDM', 'DeepDDG', 'DynaMut2']]
df1.set_index(['VARIANT'],inplace=True)
sns.set(rc = {'figure.figsize':(7, 20)}) # (width_inches, width_height)
ax = sns.heatmap(df1, cmap='rocket')
ax.set_yticks(np.arange(len(df1)) .5)
ax.set_yticklabels(df1.index,fontname='DejaVu Sans', fontsize=14.5, fontweight='550' )
ax.set_xticklabels(df1,fontname='DejaVu Sans', fontsize=20, fontweight='550', rotation=90)
ax.set_title("ΔΔG (Kcal/mole)", fontname='DejaVu Sans', fontsize=24, fontweight='700')
figure = ax.get_figure()
figure.savefig('fig.png', dpi=300)
figure.savefig('fig.svg', dpi=300, format="svg")
與最終圖中的其他代碼相比,此代碼生成帶有顏色條的熱圖,其刻度和數字非常小。我發現關于如何自定義顏色條的檔案很少,而且對解決我的問題沒有任何用處。我也希望得到幫助,因為我認為這對其他 Matplotlib/Seaborn 用戶會有所幫助。
uj5u.com熱心網友回復:
我的理解是它由一個熱圖和一個彩條子圖組成,最后一個子圖指定標簽屬性的大小。
print(ax.figure.axes)
[<AxesSubplot:title={'center':'ΔΔG (Kcal/mole)'}, ylabel='VARIANT'>, <AxesSubplot:label='<colorbar>'>]
# Add the following code
ax.figure.axes[-1].tick_params(labelsize=20)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/457261.html
標籤:Python 数据框 matplotlib
