2017-05-18 22 views
1

カラーメッシュプロットを作成しようとしていますが、データポイントとその対応する色が小さすぎます。pcolormeshを使用するプロットのマーカのサイズが大きい

私のスクリプトは次のとおりです。

import pandas as pd 
import numpy as np 
from mpl_toolkits.basemap import Basemap, cm 
import matplotlib.pyplot as plt 



df = pd.read_csv('data.csv', usecols=[1,2,4]) 
df = df.apply(pd.to_numeric) 

val_pivot_df = df.pivot(index='Latitude', columns='Longitude', values='Bin 1') 

lons = val_pivot_df.columns.astype(float) 
lats = val_pivot_df.index.astype(float) 

fig, ax = plt.subplots(1, figsize=(8,8)) 

m = Basemap(projection='merc', 
     llcrnrlat=df.dropna().min().Latitude-5 
     , urcrnrlat=df.dropna().max().Latitude+5 
     , llcrnrlon=df.dropna().min().Longitude-5 
     , urcrnrlon=df.dropna().max().Longitude+5 
     , resolution='i', area_thresh=10000 
     ) 

m.drawcoastlines() 
m.drawstates() 
m.drawcountries() 
m.fillcontinents(color='gray', lake_color='white') 
m.drawmapboundary(fill_color='0.3') 

x, y = np.meshgrid(lons,lats) 
px,py = m(x,y) 
data_values = val_pivot_df.values 
masked_data = np.ma.masked_invalid(data_values) 
cmap = plt.cm.viridis 
m.pcolormesh(px, py, masked_data, vmin=0, vmax=8000) 
m.colorbar() 

plt.show() 

Image produced here

私は、各データポイントのmarkersizeが大きく得るために探していますが、私はpcolormeshのためにこれを行う方法上の任意のドキュメントを見つけるように見えることはできません

+0

何を求めていることは不可能であることを考えると、あなたは、あなたの質問を書き換えることができます。 – ImportanceOfBeingErnest

答えて

1

pcolormeshにはマーカーがありません。 pcolorプロットの色付き領域のサイズは、下にあるグリッドによって決まります。たとえば、x方向のグリッドが[0,1,5,105]の場合、最後の列のサイズは最初の列のサイズより100倍大きくなります。

import matplotlib.pyplot as plt 
import numpy as np; np.random.seed(1) 

x = [0,1,5,25,27,100] 
y = [0,10,20,64,66,100] 
X,Y = np.meshgrid(x,y) 
Z = np.random.rand(len(y)-1, len(x)-1) 

plt.pcolormesh(X,Y,Z) 
plt.show() 

enter image description here

関連する問題