Pandas 设置子批次的X限制

Pandas 设置子批次的X限制,pandas,matplotlib,Pandas,Matplotlib,我不熟悉数据可视化,有一个关于x极限范围的简单问题。因为我有4个不同的绘图,所以我使用2x2网格,使用add_子绘图方法。以下是我迄今为止所做的工作: fig = plt.figure() ax = fig.add_subplot(221, facecolor='lightgrey') weeks = [] for weekNum in df.WeekNum: weeks.append(weekNum) maxNumber = max(weeks) sixWeekList = list(

我不熟悉数据可视化,有一个关于x极限范围的简单问题。因为我有4个不同的绘图,所以我使用2x2网格,使用add_子绘图方法。以下是我迄今为止所做的工作:

fig = plt.figure()
ax = fig.add_subplot(221, facecolor='lightgrey')
weeks = []
for weekNum in df.WeekNum:
    weeks.append(weekNum)
maxNumber = max(weeks)
sixWeekList = list(range(maxNumber-6, maxNumber))
ax.set_title('Photo', fontsize = 14)
ax.set_xlabel('Week Number')
ax.set_xlim(sixWeekList)
ax.set_ylabel('Percentage')
ax.set_ylim([0,100])
fig.tight_layout()
我的目标是在最近的6周内,每次我运行脚本时,都要进行条形图绘制。但是,当我运行上述程序时,它显示以下错误,并且不允许我设置x轴的范围。但是,如果我只是将[30,35]放在ax.set_xlim()中,它会平稳运行,例如:ax.set_xlim([30,35])

**ValueError**回溯(最近一次调用)
在()
--->最大设定值(tmp)
ValueError:要解压缩的值太多(应为2个)

有没有其他方法可以解决这个问题?

尝试直接用max和min来指定x限制,而不是用列表来指定,这是它失败的地方

例如:

fig = plt.figure()
ax = fig.add_subplot(221, facecolor='lightgrey')
weeks = []
for weekNum in df.WeekNum:
    weeks.append(weekNum)
maxNumber = max(weeks)
sixWeekList = list(range(maxNumber-6, maxNumber))
ax.set_title('Photo', fontsize = 14)
ax.set_xlabel('Week Number')

#just pass max and min here
ax.set_xlim(maxNumber-6, maxNumber)

ax.set_ylabel('Percentage')
ax.set_ylim([0,100])

尝试打印出六周列表,它是一个包含两个以上数字的列表。你只需要最大值和最小值,例如
ax.set\u xlim(maxNumber-6,maxNumber)
而没有实际数据,我无法运行它,但是这个或类似的东西应该可以满足你的需要好的,可以!!!我猜“set_xlim”方法定义了范围本身。我不必通过列表,只指定了下限和上限数字。
fig = plt.figure()
ax = fig.add_subplot(221, facecolor='lightgrey')
weeks = []
for weekNum in df.WeekNum:
    weeks.append(weekNum)
maxNumber = max(weeks)
sixWeekList = list(range(maxNumber-6, maxNumber))
ax.set_title('Photo', fontsize = 14)
ax.set_xlabel('Week Number')

#just pass max and min here
ax.set_xlim(maxNumber-6, maxNumber)

ax.set_ylabel('Percentage')
ax.set_ylim([0,100])