熊猫:组合条形图和线条图显示不正确

时间:2016-08-16 15:16:09

标签: python pandas plot bar-chart

我试图使用pandas版本0.18.1绘制时间戳降水数据的条形图和时间戳流量数据的线图。我正在使用Anaconda的最新发行版,python 3.5。

如果我将它们绘制为线图,则一切都显示为正常。但是,当我将降水数据绘制成条形图时,我会在绘图区域外的绘图显示中绘制出非常奇怪的黑线。

这是我的代码,用于在两个子图上绘制它们,共享x轴:

import matplotlib.pyplot as plt
import pandas as pd

plt.style.use('ggplot')

pdf = pd.read_csv('precip.csv', delimiter=',', header=None, index_col=0)
pdf.columns = ['p']

qdf = pd.read_csv('manhole_B.csv', delimiter=',', header=None, index_col=0)
qdf.columns = ['q']

f, ax = plt.subplots(2, sharex=True)
pdf.plot.bar(ax=ax[0])
qdf.plot(ax=ax[1])

plt.show()

这是我得到的输出,在情节周围出现奇怪的黑线:

Strange plot output

当绘制同一个子图时,我会得到一个类似的问题,辅助y轴。但是,将两个数据框绘制为线图,一切都正确显示。

任何人都可以帮我吗?我找不到有人发生类似问题的帖子。

编辑:这是数据的样子。它的范围超过两个月,每小时采样降水数据,每15分钟采样一次流量数据,因此,如果这些数据全部显示为刻度线或标签,那么就是线路的来源。在搜索刻度线问题后,我发现图表的显示方式相似,所以我正在研究如何限制刻度线和轴标签的数量。

6/1/2016 0:00  56.8
6/1/2016 0:15  52.1
6/1/2016 0:30  44.0
6/1/2016 0:45  43.6
6/1/2016 1:00  34.3

编辑:我已经让标签正确显示,将其添加到我的代码中,以便设置每周一次显示每小时数据的刻度标签。

n = 24*7
ticks = ax.xaxis.get_ticklocs()
ticklabels = [l.get_text() for l in ax.xaxis.get_ticklabels()]
ax.xaxis.set_ticks(ticks[::n])
ax.xaxis.set_ticklabels(ticklabels[::n])

0 个答案:

没有答案