如何在matplotlib和Jupyter笔记本中旋转上下文底图

如何在matplotlib和Jupyter笔记本中旋转上下文底图,matplotlib,jupyter-notebook,geopandas,contextily,Matplotlib,Jupyter Notebook,Geopandas,Contextily,我正在使用matplotlib和geopandas在Jupyter笔记本中制作一组带有子图的图形。顶部地块(A和B)具有地理空间数据,并使用各种底图(航空图像、阴影地形等) 如何将顶部的两个绘图旋转90度,使其拉长 (当然,我需要重做gridspec布局,但这很容易;我不知道如何做:旋转绘图,但保留用于底图绘图的地理信息。) 下面是可重复代码 import pandas as pd import geopandas as gpd %matplotlib inline import matplo

我正在使用matplotlib和geopandas在Jupyter笔记本中制作一组带有子图的图形。顶部地块(A和B)具有地理空间数据,并使用各种底图(航空图像、阴影地形等)

如何将顶部的两个绘图旋转90度,使其拉长

(当然,我需要重做gridspec布局,但这很容易;我不知道如何做:旋转绘图,但保留用于底图绘图的地理信息。)

下面是可重复代码

import pandas as pd
import geopandas as gpd
%matplotlib inline 
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import contextily as ctx
from shapely.geometry import Point
plt.style.use('seaborn-whitegrid')

### DUMMY DATA
long, lat = [(-118.155, -118.051, -118.08), (38.89, 39.512, 39.1)]
q, t = [(0, 70500, 21000), (0, 8000, -1200)]
df = pd.DataFrame(list(zip(q, t, lat, long)), columns =['q', 't', 'lat', 'long'])
gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df['long'], df['lat']))
gdf.crs = "EPSG:4326"

### PLOTTING
fig = plt.figure(figsize=(10,7.5), constrained_layout=True)
gs = fig.add_gridspec(3, 2)
ax1 = fig.add_subplot(gs[0:2, 0])
ax2 = fig.add_subplot(gs[0:2, 1], sharex = ax1, sharey = ax1)
ax3 = fig.add_subplot(gs[-1, :])

### PlotA
gdf.plot(ax = ax1)
ctx.add_basemap(ax1, crs='epsg:4326', source=ctx.providers.Esri.WorldShadedRelief)
ax1.set_aspect('equal')
ax1.set_title('Plot-A')
ax1.tick_params('x', labelrotation=90)

### PlotB
gdf.plot(ax = ax2)
ctx.add_basemap(ax2, crs='epsg:4326', source=ctx.providers.Esri.WorldImagery, alpha=0.5)
ax2.set_aspect('equal')
ax2.set_title('Plot-B')
ax2.tick_params('x', labelrotation=90)

### PlotC
ax3.scatter(df.q, df.t)
ax3.set_aspect('equal')
ax3.set_title('Plot-C')
ax3.set_xlabel('q')
ax3.set_ylabel('t')

q,t=[(070500021000),(08000,-1200)]
是什么意思,如果我交换t和q的轴,这有关系吗?我不知道我能不能,但我想出了一个主意,把整个东西旋转成三个垂直的行;我不认为出于各种原因可以交换它们;这是一个虚拟数据集,在真实数据集上还有很多事情要做。你能通过将每个绘图的三个水平放置在垂直格式中来解决这个问题吗?也许,这是一个好主意