+-

我正在尝试在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)
最佳答案
最后,我设法找出问题所在,并获得以下输出:
这些是正确的.我改变了道路:
这些是正确的.我改变了道路:
path = ' '
os.chdir(path)
输出到新位置进行测试.忘记了,最终看到了错误的图,因为我在添加以下代码之前将它们绘制了出来:
loading = get_loading_curve(key,time_series,meter_data)
loading.sort(reverse=True)
因此,我正在查看已排序但反向= False.因此它们向后出现,但实际上在另一个目录中生成了正确的图形.我找不到的新工作目录.
点击查看更多相关文章
转载注明原文:python-在Matplotlib中制作载荷持续时间曲线 - 乐贴网