我正在尝试在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)