0
matplotlibを使用するこのPythonコードを修正する方法を教えてください。棒の幅はプロットされているスコアの数に関係なく一定に保たれますか?前もって感謝します!このmatplotlibプロットのバー幅を固定する方法
# data to plot
n_groups = len(math_scores)
###print "im here", math_scores,verbal_scores
scores_readingwriting = verbal_scores
scores_math = math_scores
# create plot
fig, ax = plot.subplots()
index = np.arange(n_groups)
bar_width = 0.35
opacity = 0.8
rects1 = plot.bar(index, scores_readingwriting, bar_width,
alpha=opacity,
color='black',
label='R/W')
rects2 = plot.bar(index + bar_width, scores_math, bar_width,
alpha=opacity,
color='grey',
label='Math')
plot.xlabel('Date',size='14')
plot.ylabel('Scores',size='14')
plot.title(str(first_names[i])+' '+str(last_names[i])+"'s History",size='17')
num=len(scores)
###print datesofinterest
plot.xticks(index + bar_width/2, datesofinterest,size='12')
plot.yticks(size='12')
axes = plot.gca()
axes.set_ylim([200,800])
plot.legend()
plot.tight_layout()
fig.savefig('img'+str(student_ids[i])+'.png')
をありがとう:あなたは、どちらかの軸の範囲やバーの幅を変更すると同じ幅に見えるバーを与える方法を見ることができます!私はこれが働いたことを確認した。私の唯一のフォローアップの質問は、どのように5つのスコアを近づけて2番目の棒グラフのバーを作成するのでしょうか?バーは常に触っておく必要があります。ご協力いただきありがとうございます。 :) –
あなたが作った間違いは、赤い棒があります。 'bar_width'を' index [:5] 'に追加しましたが、青いバーのサイズは' bar_width/2'です。この行は次のようになります ax4.bar(index [:5] +(bar_width/2)、scores_math [:5]、bar_width/2、fc = 'r'、edgecolor = 'none') –
@FemiOladeji - 棒を動かすので、触れたままになります:-) – Robbie