我有以下数据集,我需要使用matplotlib生成boxplot:
[92,92,92,92,92,92,92,92,92,92,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95, 95,95,95,95,95,95,95,95,95,95,95]
但我希望箱形图的y轴分为以下区间:[64000-277231,277231-380059,380059-827581,827581-1338451,1338451-2593146,2593146-4559994]和x -axis以1的间隔划分,即[1,2,3,4,5,6,7,8,9]。我是matplotlib的新手,必须完成这项工作,我也提到了这篇文章。我编写了以下脚本来绘制框图,但我无法使用不同的matplotlib构造实现上述功能,如xticks,yticks和xlim以及ylim。
import numpy as np
import matplotlib as mpl
# agg backend is used to create the output file as a .png file
mpl.use('agg')
import matplotlib.pyplot as plt
plt.suptitle('Bitrate vs Trials', fontsize=15)
plt.ylabel("Bitrate")
plt.xlabel("Trials")
fig_instance = plt.figure(1 , figsize=(9,6))
ax_instance = fig_instance.add_subplot(111)
bp = ax_instance.boxplot(bitRateList)
# save the figure
fig_instance.savefig('a.png',bbox_inches='tight')
如何绘制上面列表中的图表。
答案 0 :(得分:0)
似乎你想使用log scale y轴,你可以尝试
ax_instance.set_yscale('log')