如何旋转 x 轴勾标签在熊猫情节

密码如下:

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("")

I made this plot:

enter image description here

如何旋转 x 轴刻度标签到0度?

我试着加上这句话,但没有用:

plt.set_xticklabels(df.index,rotation=90)
187340 次浏览

传递参数 rot=0来旋转 xticlabel:

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, rot=0)
plt.xlabel("")
plt.show()

产量图:

enter image description here

问题很清楚,但标题并不像它可能的那样精确。我的答案是那些谁来寻找改变 < em > 轴 标签,而不是 贴标签,,这是公认的答案是什么。(标题已更正)。

for ax in plt.gcf().axes:
plt.sca(ax)
plt.xlabel(ax.get_xlabel(), rotation=90)

您可以使用 set _ xticlabel ()

ax.set_xticklabels(df['Names'], rotation=90, ha='right')

以下内容可能会有所帮助:

# 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',
)

下面是带示例的函数 xticks[参考文献]空气污染指数

def 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([])
"""

试试这个

plt.xticks(rotation=90)

enter image description here