Wer weiß, ob es möglich ist, die Xtick-Etiketten in Matplotlib zu verpacken? Im Moment habe ich den folgenden Code (eine Art chaotisch - für eine Weile es Hacking) bekam:Ist es möglich, den Text von xticks in matplotlib in python zu verpacken?
def plotResults(request, question_id):
responses = ResponseOption.objects.filter(question__id=question_id).order_by('order').annotate(response_num=Count('response'))
counts = []
labels = []
for response in responses:
counts.append(response.response_num)
labels.append(smart_truncate('$'+response.text+'$'))
N = len(labels)
labels = tuple(labels)
counts = tuple(counts)
ind = na.array(range(N))+0.5
width = .35
fig = Figure(facecolor='white',edgecolor='white')
ax = fig.add_subplot(1,1,1)
rects1 = ax.bar(ind, counts,linewidth=0)
ax.set_ylabel('$Count$')
ax.set_title('$Response Historgram$')
ax.set_xticks(ind+width)
ax.set_xticklabels(labels)
print mpl.matplotlib_fname()
canvas = FigureCanvas(fig)
response = HttpResponse(content_type='image/png')
canvas.print_png(response)
return response
, dass diese Handlung erzeugt:
Wie Sie sehen können die Xticks sind entbeint. Irgendwelche Ideen, wie man sie einpackt oder die lesbar macht? Danke noch einmal!
PS: Dies ist Teil eines Django-Projekts. Ich gebe das Plot als PNG-Bild zurück - normalerweise rufe ich sie aus IMG-Tags in verschiedenen Ansichten.
'rotation = 'vertikale'' könnte die Antwort sein: http://StackOverflow.com/Questions/1221108/Barchart-with-vertical-Labels-in-Python-Matplotlib – unutbu
@ ~ unutbu:' Rotation' kann sein jeder Winkel, siehe: http://matplotlib.sourceforge.net/api/axes_api.html#matplotlib.axes.Axes.set_xlabel – Amro
@Amro, danke. 'xticks (rotation = 45)' könnte besser aussehen ... – unutbu