【问题标题】:Making Load Duration Curves in Matplotlib在 Matplotlib 中制作负载持续时间曲线
【发布时间】: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


【解决方案1】:

最后,我设法找出问题所在并得到以下输出: 这些都是正确的。我改变了路径:

path = ' '
os.chdir(path)

输出到一个新的位置来测试一些东西。忘记并最终查看了错误的图,因为我在添加此代码之前绘制了它们:

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

因此,我正在查看已排序但反向 = False。所以它们看起来是倒退的,但实际上正确的图表是在另一个目录中生成的。我没有查看的新工作目录。

【讨论】:

    猜你喜欢
    • 2018-08-24
    • 2010-11-19
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多