3

いくつかの測定データを使用して曲線をプロットしたいと思います。これは、形式の項目を含む配列として使用できます[t,b]。ここで、tはプロットするパラメーターでbあり、測定機器のステータスを説明する文字列です。ここで、の値をプロットし、の値にt応じて線に色を付けますb。これまでの私のコードは

import pylab as pl
measurements = [[0, "a"], [1, "b"], [2, "c"]]
times = pl.arange(0, 3, 1)
values = zip(*measurements)[0]
parameters = zip(*measurements)[1]
pl.plot(times, values)
pl.show()

の値に応じて、線の色が異なるはずparametersです。どうすればよいですか?

4

2 に答える 2

2

これを行う最良の方法は、matplotlibのcolormapAPIを使用することです。

from matplotlib import pyplot as pl
from matplotlib import cm

pl.scatter(times, values, c = cm.spectral(1.*values/max(values)))

明らかに、データから色を取得するために他の関数を使用する必要があります。ただし、一般的に、cm.spectralまたはその他のcolormap)は、0から1の間の浮動小数点数、または0から255の間のintを指定すると、色を返します。

zip一般的なコメントとして、データを一緒に試すよりも、numpy配列を使用する方がよい場合もあります。この例よりも複雑なデータ構造の方が簡単な場合があります。

import numpy as np
from matplotlib import pyplot as pl
from matplotlib import cm

measurements = np.array([[0, "a"], [1, "b"], [2, "c"]])
times = np.arange(3)
values = np.array(measurements[:,0], dtype=float)
parameters = np.array(measurements[:,1], dtype='S1')

pl.scatter(times, values, c = cm.spectral(values/max(values)))
pl.show()
于 2013-03-04T17:06:07.320 に答える
-6

グラフを描く最も簡単な方法は、おそらくgoogleのChart APIを使用することです:https ://developers.google.com/chart/

これは純粋なPythonではありませんが、一見の価値のあるリソースです。それが役に立てば幸い。

于 2013-03-04T17:01:57.130 に答える