Z następującym kodem:
import matplotlib
matplotlib.style.use('ggplot')
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]})
df = df[["celltype","s1","s2"]]
df.set_index(["celltype"],inplace=True)
df.plot(kind='bar',alpha=0.75)
plt.xlabel("")
Zrobiłem ten spisek:
Jak mogę obrócić etykiety znaczników osi X o 0 stopni?
Próbowałem to dodać, ale nie zadziałało:
plt.set_xticklabels(df.index,rotation=90)
python
pandas
matplotlib
neversaint
źródło
źródło
plt.show()
teraz, etykiety są obcięte z powodu długich etykiet.Pytanie jest jasne, ale tytuł nie jest tak precyzyjny, jak mógłby być. Moja odpowiedź jest dla tych, którzy przyszli, aby zmienić etykietę osi , w przeciwieństwie do etykiet kleszczy, o co chodzi w przyjętej odpowiedzi. (Tytuł został poprawiony).
for ax in plt.gcf().axes: plt.sca(ax) plt.xlabel(ax.get_xlabel(), rotation=90)
źródło
Możesz użyć set_xticklabels ()
ax.set_xticklabels(df['Names'], rotation=90, ha='right')
źródło
Pomocne mogą być następujące informacje:
# Valid font size are xx-small, x-small, small, medium, large, x-large, xx-large, larger, smaller, None plt.xticks( rotation=45, horizontalalignment='right', fontweight='light', fontsize='medium', )
Oto funkcja
xticks
[odniesienie] z przykładem i APIdef xticks(ticks=None, labels=None, **kwargs): """ Get or set the current tick locations and labels of the x-axis. Call signatures:: locs, labels = xticks() # Get locations and labels xticks(ticks, [labels], **kwargs) # Set locations and labels Parameters ---------- ticks : array_like A list of positions at which ticks should be placed. You can pass an empty list to disable xticks. labels : array_like, optional A list of explicit labels to place at the given *locs*. **kwargs :class:`.Text` properties can be used to control the appearance of the labels. Returns ------- locs An array of label locations. labels A list of `.Text` objects. Notes ----- Calling this function with no arguments (e.g. ``xticks()``) is the pyplot equivalent of calling `~.Axes.get_xticks` and `~.Axes.get_xticklabels` on the current axes. Calling this function with arguments is the pyplot equivalent of calling `~.Axes.set_xticks` and `~.Axes.set_xticklabels` on the current axes. Examples -------- Get the current locations and labels: >>> locs, labels = xticks() Set label locations: >>> xticks(np.arange(0, 1, step=0.2)) Set text labels: >>> xticks(np.arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue')) Set text labels and properties: >>> xticks(np.arange(12), calendar.month_name[1:13], rotation=20) Disable xticks: >>> xticks([]) """
źródło
W przypadku wykresów słupkowych możesz uwzględnić kąt, jaki ostatecznie mają mieć tiki.
Tutaj używam,
rot=0
aby ustawić je równolegle do osi x.series.plot.bar(rot=0) plt.show() plt.close()
źródło
rot
sięxrot
lubyrot