Matplotlib Plot X, Y Line Plot Multiple Columns 固定 X 轴
Matplotlib Plot X, Y Line Plot Multiple Columns Fixed X Axis
我正在尝试为(12 月、1 月、2 月)绘制 x 轴强制为 12、1、2 的 df,但我不知道如何执行此操作。 Matplot 一直想按 1,2,12 的顺序绘制 x 轴。该示例的我的 DF (analogs_re) 部分列如下所示:
Month 2000 1995 2009 2014 1994 2003
0 12 -0.203835 0.580590 0.233124 0.490193 0.605808 0.016756
1 1 -0.947029 -1.239794 -0.977004 0.207236 0.436458 -0.501948
2 2 -0.059957 0.708626 0.111840 0.422534 1.051873 -0.149000
我需要按 12、1、2 顺序用 x 轴绘制的 y 数据,如“月份”列中所示。
我的代码:
fig, ax = plt.subplots()
#for name, group in groups:
analogs_re.set_index('Month').plot(figsize=(10,5),grid=True)
analogs_re.plot(x='Month', y=analogs_re.columns[1:len(analogs_re.columns)])
当您将 Month
设置为 x-axis 时,显然它将按数字顺序(0、1、2、3 ...)绘制它,因为顺序序列不会开始有 12,然后 1,然后 2,...
诀窍是使用原始索引作为 x-axis,然后使用月份编号标记这些刻度:
fig, ax = plt.subplots()
analogs_re.drop(columns='Month').plot(figsize=(10,5), grid=True, ax=ax)
ax.set_xticks(analogs_re.index)
ax.set_xticklabels(analogs_re["Month"])
我正在尝试为(12 月、1 月、2 月)绘制 x 轴强制为 12、1、2 的 df,但我不知道如何执行此操作。 Matplot 一直想按 1,2,12 的顺序绘制 x 轴。该示例的我的 DF (analogs_re) 部分列如下所示:
Month 2000 1995 2009 2014 1994 2003
0 12 -0.203835 0.580590 0.233124 0.490193 0.605808 0.016756
1 1 -0.947029 -1.239794 -0.977004 0.207236 0.436458 -0.501948
2 2 -0.059957 0.708626 0.111840 0.422534 1.051873 -0.149000
我需要按 12、1、2 顺序用 x 轴绘制的 y 数据,如“月份”列中所示。
我的代码:
fig, ax = plt.subplots()
#for name, group in groups:
analogs_re.set_index('Month').plot(figsize=(10,5),grid=True)
analogs_re.plot(x='Month', y=analogs_re.columns[1:len(analogs_re.columns)])
当您将 Month
设置为 x-axis 时,显然它将按数字顺序(0、1、2、3 ...)绘制它,因为顺序序列不会开始有 12,然后 1,然后 2,...
诀窍是使用原始索引作为 x-axis,然后使用月份编号标记这些刻度:
fig, ax = plt.subplots()
analogs_re.drop(columns='Month').plot(figsize=(10,5), grid=True, ax=ax)
ax.set_xticks(analogs_re.index)
ax.set_xticklabels(analogs_re["Month"])