【发布时间】:2015-12-15 17:28:52
【问题描述】:
我正在尝试在 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)
【问题讨论】:
-
你能给我们提供一个
meter_data绘制时的样子吗? -
是的,过几天我会试着弄些东西。出于某种原因,当我发布图片时,堆栈交换不喜欢它。
-
我自己解决了这个问题。
标签: python matplotlib graph statistics