在Matplotlib中制作负载持续时间曲线

时间:2015-09-18 14:10:53

标签: python matplotlib graph statistics

我正在尝试在matplotlib中绘制一个加载持续时间曲线。负载持续时间曲线基本上是y轴上从高到低的数字的排序列表,以及通常表示以小时为单位的时间的索引。我无法将数字从高到低绘制。即使我已经对列表进行了排序,Matplotlib也会从低到高绘制它们。我的代码如下:

meter_data = data_dictionary[key]
loading = get_loading_curve(key,time_series,meter_data)
loading.sort(reverse=True)
percent_loading = 100*numpy.array(loading)
meter_data.sort(reverse=True)
meter_data = numpy.array(meter_data)
print meter_data
l = len(meter_data)
index = numpy.array(range(0,l))

我正在尝试在y轴上绘制meter_data并在x轴上绘制索引。 meter_data应该从高到低排序,因此高值应显示在图表的左侧并下降。上面代码中的print语句显示了一个首先具有最高值的numpy数组。

然后我去绘制这个:

ax = fig.add_subplot(2,2,1)
plt.plot(index,meter_data)
plt.title('Hours vs. Load',size = 14,color = 'g')
plt.xlabel('Hours',size = 12)
plt.ylabel('MVA',size = 12)
plt.grid(b = True,which = 'major',color ='k',linestyle = '-')
plt.minorticks_on()
plt.grid(b = True,which = 'minor',axis = 'y',color ='r',linestyle = ':')

但是我最终得到了相反的情节,它将它从低到高绘制,从高到低。我会看看以后是否可以拍照,出于某种原因,我无法发布照片。它应该是这样的:

https://en.wikipedia.org/wiki/Load_duration_curve

我的代码靠近我的脚本

path = ' '
os.chdir(path)

我改变了输出PDF的路径。在我添加此代码之前:

loading = get_loading_curve(key,time_series,meter_data)
loading.sort(reverse=True)

1 个答案:

答案 0 :(得分:3)

最后,我设法弄清楚出了什么问题并获得了以下输出: enter image description here 这些是正确的。我改变了路径:

path = ' '
os.chdir(path)

输出到新位置以测试某些内容。忘了并最终查看错误的情节,因为我在添加此代码之前绘制了它们:

loading = get_loading_curve(key,time_series,meter_data)
loading.sort(reverse=True)

因此,我看着排序但反向=假。所以他们出现了倒退,但实际上正确的图表是在另一个目录中生成的。我没看的新工作目录。