我有下面给出的代码段,它生成了提供的箱线图。我想知道如何在每个框旁边添加自定义标签,以使框图对我的结果的读者更易消化。还提供了预期的图表。我认为应该有一个简单的方法可以在Seaborn / Matplotlib中完成此任务。
我真正想要的是在每个框中添加以下标签(如提供的示例所示,在左侧)
代码用于生成箱线图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as MaxNLocator
from matplotlib import rcParams
from matplotlib.ticker import ScalarFormatter,FuncFormatter,FormatStrFormatter,EngFormatter#,mticker
%matplotlib inline
import seaborn as sns
range_stats = pd.read_csv(f'{snappy_data_dir}range_searcg_snappy_stats.csv')
data_stats_rs_txt = range_stats[range_stats['category'] == "t"]
data_stats_rs_seq = range_stats[range_stats['category'] == "s"]
fig,ax =plt.subplots(1,2)
rcParams['figure.figsize'] =8,6
flierprops = dict(marker='x')
labels1 = ['R1','R2','R3','R4','R5']
sns.boxplot(x='Interval',y='Total',data=data_stats_rs_txt,palette='rainbow',ax=ax[0])
sns.boxplot(x='Interval',data=data_stats_rs_seq,ax=ax[1])
ax[0].set(xlabel='Interval (s)',ylabel='query execution time (s)',title='Text format',ylim=(0,290))
ax[1].set(xlabel='Interval (s)',ylabel='',title='Proposed format',290),yticklabels=[])
plt.savefig("range-query-corrected.svg")
plt.savefig('snappy_compressed_rangesearch.pdf')
结果图:
带标签的预期数字