【发布时间】:2016-05-29 16:06:34
【问题描述】:
我基本上是在尝试绘制一个图表,其中 x 轴代表一年中的月份。数据存储在一个 numpy.array 中,维度为k x months。下面是一个最小的例子(我的数据没那么疯狂):
import numpy
import matplotlib
import matplotlib.pyplot as plt
cmap = plt.get_cmap('Set3')
colors = [cmap(i) for i in numpy.linspace(0, 1, len(complaints))]
data = numpy.random.rand(18,12)
y = range(data.shape[1])
plt.figure(figsize=(15, 7), dpi=200)
for i in range(data.shape[0]):
plt.plot(y, data[i,:], color=colors[i], linewidth=5)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.xticks(numpy.arange(0, 12, 1))
plt.xlabel('Hour of the Day')
plt.ylabel('Number of Complaints')
plt.title('Number of Complaints per Hour in 2015')
我想将xticks 作为字符串而不是数字。我想知道是否必须手动创建一个字符串列表,或者是否有另一种方法可以将数字翻译到月份。例如,我必须在工作日做同样的事情。
我一直在寻找这些例子:
http://matplotlib.org/examples/pylab_examples/finance_demo.html http://matplotlib.org/examples/pylab_examples/date_demo2.html
但我没有使用datetime。
【问题讨论】:
标签: python datetime numpy matplotlib