0

プロセスのメモリ消費量と時間の関係を示すグラフを作成しようとしています。SOの助けを借りて、Qtを使用してメモリを消費し、グラフを描くことができます。メモリのわずかな変更を紹介するために、Y軸をバイト単位でスケーリングしています。

私の問題は、通常、消費されるメモリはグラフに表示される非常に大きな値であり、表示領域からはみ出すことです。

ここでは、この問題を回避するために対数目盛を使用する方法を学習します。しかし、これは別の問題を引き起こします:

しばらくすると、通常、プロセスはメモリの初期化で落ち着き、メモリ消費量のそれ以上の変化は、このプロセスによって消費される合計メモリと比較して非常に小さい値になります。したがって、スケーリングのために取得しているログのため、これらの変更はグラフに実際には表示されません。しかし、私の主な目的は、この総メモリ消費量の変化をグラフ形式で示すことです。

私のアプローチは間違っていますか、それともこれを達成するためのより良い方法がありますか?

Qt / C ++ / qmlでの実装ですが、一般的なアイデアは大歓迎です。

例えば。

時間:0秒| 消費量:0バイト

時間:1秒| 消費量:1212120バイト

時間:2秒| 消費量:1212520バイト

時間:3秒| 消費量:1212720バイト

..消費はこの頃に落ち着きます-今は小さな変化だけです-

時間:20秒| 消費量:1212890バイト

時間:21秒| 消費量:1212893バイト

時間:22秒| 消費量:1212895バイト

4

2 に答える 2

3
  • 対数ではなく、分数の累乗(平方根など)が考慮される場合があります。

  • 最初の値は無視してください。時間0の値が常に0である場合は、無視することを検討できます。データセットを大幅にオフセットします。その場合、グラフのy-minは1212120になり、見栄えが良くなります。

    グラフ

  • 実際の値(時間xでの値)ではなく、変化(時間xでの値-時間x-1での値)を表示することも良い考えです。

于 2013-02-20T06:35:43.757 に答える
2

これにアプローチする1つの方法があります:

  1. 絶対値ではなく、変化をグラフ化します。
  2. マップのように、チャートの隅に大きな変化が見られる挿入図または小さなチャートを使用します。チャートの主要部分に、小さな変更を示します。
  3. メインチャートの別の隅にある現在のカーソル位置(単一の数値)でのメモリ使用量の値を表示します。
于 2013-02-20T05:29:47.490 に答える