My code:
Please scroll down to ##### Part where the question is related #####
This is part of the repository: https://github.com/soobinck/rotarod_ML/featureImportance/featureImportance_decisionTreeImportancePlot.py
import os
import string
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from utils.getDirAbsPath import outputAbsPath
inputCSV = './output.csv'
# Plot importance when the number of intervals is 2.
interval = len(string.ascii_lowercase)
df = pd.read_csv(inputCSV, index_col=0)
df01 = df[['0', '1']]
bins = np.array_split(df01, len(df01) / interval)[1]
df01 = pd.DataFrame(bins)
xlabel = '(i)th interval'
ylabel = 'feature importance'
title = 'Feature importance in classifying genotypes (%i iterations)' % interval
outputPath = os.path.join(outputAbsPath(), 'featureImportance', 'accuracies.png')
footnote = footnote = 'Classified with mean step up height as the model's input. Classified with mean step up height as the model's input. Classified with mean step up height as the model's input. Classified with mean step up height as the model's input. Classified with mean step up height as the model's input. '
# Plotting
fig, ax = plt.subplots(figsize=(15, 11), tight_layout=True)
plt.subplots_adjust(hspace=1.0, wspace=0.02, bottom=0.17)
# Creating axes instance
bp = ax.boxplot(df, patch_artist=True,
notch='True')
# changing color and linewidth of
# whiskers
for whisker in bp['whiskers']:
whisker.set(color='#8B008B',
linestyle=":")
# changing color and linewidth of
# caps
for cap in bp['caps']:
cap.set(color='#8B008B')
# changing color and linewidth of
# medians
for median in bp['medians']:
median.set(color='red')
# changing style of fliers
for flier in bp['fliers']:
flier.set(marker='D',
color='#e7298a',
alpha=0.5)
# x-axis labels
ax.set_xlabel(xlabel)
ax.set_ylabel(ylabel)
# Adding title
plt.title(title)
fig.subplots_adjust(bottom=0.2)
##### Part where the question is related #####
ft = plt.figtext(0, 0, footnote, wrap=True, va='bottom', fontsize=11)
#Have tried:
# ax.annotate(footnote, (0,-0.2), xycoords='figure fraction')
# plt.subplots_adjust(hspace=1.0, wspace=0.02, bottom=0.17)
# fig.subplots_adjust(bottom=0.2)
plt.tight_layout()
##### Part where the question is related #####
fig.savefig(outputPath)
# pickle.dump(fig, open((outputPath + '.fig.pickle'), 'wb'))
# show plot
fig.show()
print('%s saved.' % outputPath)
This yields
I keep having the footnote covered by the xlabel. I tried pretty much all of the solutions possible I could found on the net. Can someone please let me know how to add long footnotes to a graph? The format has to be like in the paper. Left and right aligned with the graph's edges (not the figure size). Left aligned but spanned so that lines except for the last line spanned to fill the entire line.
Example here:
Thank you so much in advance! :)
question from:
https://stackoverflow.com/questions/65940496/footnote-annotate-overlapping-with-xlabel 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…