在 mplstyle 档案中是否有强制水平标签的自变量?和/或使用 rcParams?
我目前ax.xaxis.set_tick_params(rotation=0)
在地块建设中使用。我想要一个永久的样式或设定。谢谢!
默认外观(x_compat=True
在熊猫资料框中):
想要的样子:
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,正如我错误地预期的那样。
似乎主要有两种解决方法:
- 直接使用
matplotlib
,无需pandas
. 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的评论和Github的Marco Gorelli。
0 评论