Python 将2个贴图与matplotlib一起比较
@朱利安:我认为否决一个可能对许多初学者有用的问题没有任何意义。看到这么多仇恨真是荒谬,你的评论(我尊重)已经足够了 我正在研究geopandas,我试图根据纽约市的两张地图的BoroCode(BoroCode&Borocode2)进行比较 请查找您可以在家中复制的代码: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(
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)