def plot_freq_error(diff,file,possible_frequency):
for foo in range(0, len(diff)):
x = [diff[foo]]
name = comp
color = ['0.1', '0.2', '0.3','0.4','0.5','0.6','0.7','0.8', '0.9','0.95','1.0']
label = ['0.8GHz','1.0GHz','1.2GHz','1.4GHz','1.6GHz','1.8GHz','2.0GHz','2.2GHz','2.4GHz']
y = zip(*x)
pos = np.arange(len(x))
width = 1. / (1 + len(x))
fig,ax = plt.subplots()
matplotlib.rcParams.update({'font.size': 22})
for idx, (serie, color,label) in enumerate(zip(y, color,label)):
ax.bar(pos + idx * width, serie, width, color=color,label=label)
plt.tick_params(\
axis='x', # changes apply to the x-axis
which='both', # both major and minor ticks are affected
bottom='off', # ticks along the bottom edge are off
top='off', # ticks along the top edge are off
labelbottom='off') # labels along the bottom edge are off
plt.tick_params(axis='both', which='major', labelsize=10)
plt.tick_params(axis='both', which='minor', labelsize=8)
plt.ylabel(name[foo],fontsize=40)
#ax.legend(prop={'size':5})
plt.xticks(label)
plt.gray()
plt.show()
plt.clf()
使用上面编写的代码,我无法将xticks
绘制为每个条形的字符串/浮点值。我做错了什么?
答案 0 :(得分:2)
ax.set_xticklabels(label)
实际应该有效。您缺少的是使用ax.set_xticks(float)
命令
以下是一个例子:
x = np.arange(2,10,2)
y = x.copy()
x_ticks_labels = ['jan','feb','mar','apr','may']
fig, ax = plt.subplots(1,1)
ax.plot(x,y)
# Set number of ticks for x-axis
ax.set_xticks(x)
# Set ticks labels for x-axis
ax.set_xticklabels(x_ticks_labels, rotation='vertical', fontsize=18)