拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 matplotlib:水平标签作为样式

matplotlib:水平标签作为样式

白鹭 - 2022-03-15 2129 0 0

在 mplstyle 档案中是否有强制水平标签的自变量?和/或使用 rcParams

我目前ax.xaxis.set_tick_params(rotation=0)在地块建设中使用。我想要一个永久的样式或设定。谢谢!

默认外观(x_compat=True在熊猫资料框中):

matplotlib:水平标签作为样式

想要的样子:

matplotlib:水平标签作为样式

import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Date': {0: '1950-01-01', 1: '1960-01-02', 2: '1970-01-03', 3: '1980-01-04', 4: '1990-01-05'}, 'Value': {0 : 0, 1: 1, 2: 0, 3: 1, 4: 0}})
df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d')
df = df.set_index('Date', drop=False)

f, ax = plt.subplots()
df.plot(ax=ax, x='Date', x_compat=True)
#ax.xaxis.set_tick_params(rotation=0)
plt.show()

我看了看那里,但可能错过了:

使用 matplotlibrc 档案进行定制

matplotlib_configuration_api.html

uj5u.com热心网友回复:

使用自变量rot来自df.plot

df.plot(ax=ax, x='Date', x_compat=True, rot=0)

uj5u.com热心网友回复:

我会回答我自己的问题来解决这个问题。

不,没有。

[截至 2022 年 1 月] 无法通过样式控制刻度标签旋转。这是因为pandas绘图包装器重置了旋转自变量。参考自 pandas/doc/source/user_guide/visualization.rst,

尽管这里的措辞 --- 即“对齐目的”---,设定x_compat=True不会将旋转自变量重置为matplotlib默认值 0,正如我错误地预期的那样。

似乎主要有两种解决方法:

  1. 直接使用matplotlib,无需pandas.
  2. pandas重置绘图呼叫内的旋转。这可以通过pandas[See Vishnudev's answer]df.plot(... rot=0...)matplotlib[See my OP] with a axis object setting的方式来完成ax.xaxis.set_tick_params(rotation=0)

来源和感谢:Jody Klymak的评论和GithubMarco Gorelli

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *