我试图绘制印度不同年份和不同地点的污染水平。
我能够独立获取散点图和底图。但是,我在Map上指定的地理位置上绘制这个散点图时遇到了困难。结果是Map被放置在散点图的顶部,这不是我想要的。
下面是我使用的代码:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import pandas as pd
m = Basemap(projection='mill',
llcrnrlat = -80,#llcrncrlat=lower left corner latitude
llcrnrlon = -180,
urcrnrlat = 80,
urcrnrlon = 180,
resolution = 'l')
df = pd.read_csv('dust.csv')
x = df[['y']]
y = df[['x']]
colors = df[['y1']]
#m.drawcoastlines()
#m.drawcountries(linewidth=2)
#m.scatter(df['x'],df['y'],s=colors, alpha=0.5, cmap='viridis')
plt.scatter(x,y,s=colors, alpha=0.5, cmap='viridis')
plt.colorbar()
plt.show()
2条答案
按热度按时间zzwlnbp81#
eqzww0vc2#
**问题:**如何在底图的顶部绘制不同密度的散点图?
**数据:**我有印度各城市的纬度和经度沿着各年的污染水平。
**方法:**最初,我将数据结构分配给变量'df'。将纬度指定为“y”,将经度指定为“x”。由于纬度和经度也拥有变量'y'和'x',在其中,我使用'df['x'].values'来单独获取数值。考虑到印度的几何位置,我绘制了这张Map.下一个设置是将这些纬度和经度作为Map的变量。这一点至关重要,否则我无法观察散点图。以颜色作为第三个变量,我绘制了散点图,污染水平具有不同的密度。
产品编号: