9

Python と CSV ファイルを使用しています。現在、csv ファイルの 3 番目の列に基づいて色を変更するために、以下の散布図 (2d) を変更しようとしています。複数の投稿を検索した後、基本的には一般的なカラーマップ (虹) を使用し、3 番目の配列にカラーマップを掛けて、xy ポイントごとに異なる色を表示したいと考えています。関数からすべてを実行できると思いますax.scatterが、それぞれの異なる x、y 座標をカラーマップと 3 番目の配列番号で乗算する方法がわかりません。等高線図に似ているはずですが、別の色の散布図の方が好みです。

私が使用しているコードは次のとおりです。

import matplotlib   
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas    
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np

r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)

ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')

x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column

ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);
4

1 に答える 1

14

散布図を確認してください

import matplotlib.pyplot as plt
from matplotlib  import cm
import numpy as np

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = np.random.random(30)
y = np.random.random(30)
z = np.random.random(30)

# scatter with colormap mapping to z value
ax.scatter(x,y,s=20,c=z, marker = 'o', cmap = cm.jet );

plt.show()

そしてそれは生成します

ここに画像の説明を入力してください

于 2012-05-25T21:25:21.333 に答える