Python 将2个贴图与matplotlib一起比较

Python 将2个贴图与matplotlib一起比较,python,pandas,matplotlib,Python,Pandas,Matplotlib,@朱利安:我认为否决一个可能对许多初学者有用的问题没有任何意义。看到这么多仇恨真是荒谬,你的评论(我尊重)已经足够了 我正在研究geopandas,我试图根据纽约市的两张地图的BoroCode(BoroCode&Borocode2)进行比较 请查找您可以在家中复制的代码: import pandas as pd import geopandas # We import the database of NYC and we plot it : df = geopandas.read_file(

@朱利安:我认为否决一个可能对许多初学者有用的问题没有任何意义。看到这么多仇恨真是荒谬,你的评论(我尊重)已经足够了

我正在研究geopandas,我试图根据纽约市的两张地图的BoroCode(BoroCode&Borocode2)进行比较

请查找您可以在家中复制的代码:

import pandas as pd
import geopandas

# We import the database of NYC and we plot it : 
df = geopandas.read_file(geopandas.datasets.get_path('nybb'))
ax1 = df.plot(figsize=(10, 10), alpha=0.5, edgecolor='k')
ax1

# Then I want to make another dataframe which has also a BoroCode column  : 
df_tmp1 = pd.DataFrame([[1.1, 5], [2.7, 4], [5.3, 3], [7, 1], [20, 2]], index = ['0', '1', '2', '3', '4'], columns = ['BoroCode2', 'BoroCode'])
df_tmp1

Out [4] : 
    BoroCode2   BoroCode
0   1.1     5
1   2.7     4
2   5.3     3
3   7.0     1
4   20.0    2


# Now I merge both dataframes : 
df1 = pd.merge(df, df_tmp1, on = ['BoroCode'])

# And I can make to maps based on their BoroCode : 

map1 = df1.plot(column='BoroCode', cmap='tab10', figsize=(15, 5), legend=True)

然后,我想将
map1
map2
并排显示在同一行中。只是比较一下

我已经测试了
子批次
,但我认为我还没有很好地掌握它

因为我不熟悉这些教程,因为它们使用函数从零开始使用
ax
x
、和
y
轴来绘制和散布。而且我是初学者,所以我无法成功地将代码改编为适合我的情况

我只想把这些地图一起展示。没别的了


有人能帮我展示一下这样的方式吗?多谢各位

matplotlib中的子批次创建为

fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(15,5))
Geopandas'接受一个参数
ax
,向其提供要打印的轴

df1.plot(column='BoroCode', cmap='tab10', legend=True, ax=ax1)
df2.plot(column='BoroCode2', cmap='tab10', legend=True, ax=ax2)

给我们看看你的代码。否则,除了重复教程中已有的内容,我们还能做些什么呢?亲爱的@ImportanceOfBeingErnest,我编辑了我的第一篇文章,只是为了确保我们有相同的理解。求求你了,你能过来找我吗?非常感谢你!我认为我的答案仍然适用。但我更新了你的例子。太感谢你了!它起作用了!由于两种地图的单位相同,您知道如何为两种地图共用一个图例吗?您需要通过
vmin
vmax
为两种数据设置相同的限制。
df1.plot(column='BoroCode', cmap='tab10', legend=True, ax=ax1)
df2.plot(column='BoroCode2', cmap='tab10', legend=True, ax=ax2)