//
python描画モジュールのmatplotlib
//
先週、特定のオンラインディスクでfioハードディスクパフォーマンステストが実施されました。テストが完了したら、結果を画像に描画して表示する必要があります。公式サイトでfio独自のコマンドfio_generate_plotとfio2gnuplotツールの使い方を調べて、画像の描き方を調べました。1つのシーンで、これら2つのツールを使ってハードディスクのパフォーマンス画像を描くことができますが、問題があります。はい、複数のシーンで描画された画像の違いを比較したい場合、fioに付属の描画ツールは実装がやや困難ですが、実装することはできます。例えば:
図に示すように、disk iodepthは変更されておらず、numjobsは3つの異なるシナリオ(1、8、16)で描画されます。描画方法、当面は方法が見つからないことをお許しください。これは前任者によって描かれた画像です。
そこで、この問題を別の方法で解決するために、pythonの描画方法を検索し、pythonmatplotlibモジュールを使用して複数のグラフを描画する方法を見つけました。お使いのコンピューターにこのモジュールがない場合は、以下を使用してください。
インストールするpipinstallmatplotlibコマンド。
matplotlibが曲線を描く方法を見てみましょう。
# /usr/bin/env python
# - *- coding=utf-8-*-import matplotlib.pyplot as plt
def PlotDemo1():
fig = plt.figure() #フィギュアオブジェクトはチャート全体として見ることができます。図表の上に複数のサブグラフを追加し、サブグラフに点と線を描画します
# 追加する_サブプロットはサブプロットを追加します(軸軸を返します)。このメソッドには、次の3つのパラメーターが必要です。numrows, numcols,fignum。その中には、合計数があります*numcolsサブグラフ、
# チャートをN行に分割します*M列、fignumはサブグラフの順序を識別し、その範囲は1からnumrowsです。*numcols。上記の例では1,1,1は、描画オブジェクトにサブグラフが1つしかないことを意味します。つまり、1です。*1種類
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3,4]) #縦座標を指定すると、横軸の数は0から始まる縦座標の数と同じに自動的に設定されます。つまり、横軸は次のようになります。[0,1,2,3]
ax.plot([1,2,3,4],[2,3,4,5]) #別の曲線を描くには、横軸と縦座標を指定します
plt.show()PlotDemo1()
ここでは、最も単純な2つの曲線を描きました。変数axで、プロットする必要のあるx配列とy配列を引き続き追加して、1つのグラフに複数の線を描くことができます。上記のコードで描かれた結果グラフを見てください。
次の2行があることがわかります。
1つ目は青い線で、次のとおりです。
ax.plot([1,2,3,4])
このコマンドで渡されるパラメーターは、縦座標の値を表します。横軸は渡されないため、横軸はデフォルトで0から始まり、1ビット単位で増加します。
2番目はオレンジ色の線です:
ax.plot([1,2,3,4],[2,3,4,5])
このコマンドの最初の配列はx軸配列で、2番目の配列はY軸配列です。
2本の線は部分的に重なっているため、直線のように見えます。
この描画のアイデアを使用して、描画する必要のあるポイントを2つのリストに入れることができます。1つは横軸で、もう1つは縦座標です。これにより、画像について必要な画像を描画できます。タイトル、横座標と縦座標の説明、アイコンなどはすべて、対応する機能で充実させることができます。具体的な描画方法については、インターネット上のモジュールの詳細な説明を参照してください。ここでアイデアを提供しますので、皆様のお役に立てれば幸いです。
最後に、pythonを使用して描画されたディスクパフォーマンスの上記のグラフは、上記のグラフと比較できます。
Recommended Posts