gnuplot の場合
gnuplot では、plot “data.txt” u 1:($2*2)などと書くと、
数値を加工(データ値を使った計算)を行った結果をグラフ化することができる。
matplotlib の場合
いっぽう、matplotlib では map を使ってデータ(リスト)を操作することにより、データを加工することができる。
各データに対して、myfunction という関数を作用させたものをプロットする。
例
# -*- coding: utf-8 -*-
import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(-2,5,50)
y = x
def myfunction(x):
return x*x - 2 * x + 1
y2 = map(myfunction, y)
plt.rcParams['font.family'] = 'Hiragino Sans'
plt.plot(x, list(y2), label='関数', marker='o')
plt.xlabel('年')
plt.ylabel('トン')
plt.legend()
plt.show()