在python中使用Basemap绘制国家/地区频率

时间:2014-05-10 23:51:36

标签: list python-2.7 matplotlib-basemap

我正在进行可视化项目,我使用imdb API来阐明一些不同的方面。 我想在大多数电影制作的底图上显示。 我已经创建了一个最受欢迎的国家/地区的列表,现在我想将它添加到我的底图中,因此通常一个国家/地区使用它的红色就越多。 (使用气压计 - 从浅黄色到深红色)。

我的问题是,如何在底图中实现我的列表? 我的清单如下:

[304, 60, 18, 0, 3, 8, 6, 14, 14, 2, 6, 2, 2, 3, 3, 2, 0, 2, 13, 3, 3, 5, 0, 2, 1, 1, 12]

现在我们已经使用代码

创建了一个标准底图

更新

好吧,到目前为止,我设法创建了一个我也需要的颜色栏。但我仍然不知道如何为国家着色并使用我的列表与feqrency国家。

例如,304代表美国:)

代码:

from mpl_toolkits.basemap import Basemap 
import matplotlib.pyplot as plt 
import numpy as np 

m = Basemap(projection='mill',llcrnrlat=-90,urcrnrlat=90,\
        llcrnrlon=-160,urcrnrlon=160,resolution='c')

m.drawcoastlines()
m.drawcountries(color='black')
m.drawmapboundary()

#Colorbar

# The number of divisions of the cmap we have
k = 400

A = np.random.random((10,10))*k
c = cmap_discretize('autumn', 3)

# First show without

plt.imshow(A,interpolation='nearest',cmap=c)
plt.colorbar()



plt.title('Imdb Top250 feq countries')

plt.show()

1 个答案:

答案 0 :(得分:0)

你需要使用色彩映射。在制作绘图时,使用cmap参数并选择合适的色彩映射表。您可以在此处查看示例 - http://matplotlib.org/basemap/users/examples.html