演示浮动轴2
轴在矩形框内
以下代码演示了如何将浮动极坐标曲线放在矩形框内。 为了更好地了解极坐标曲线,请查看demo_curvelinear_grid.py。

import numpy as npimport matplotlib.pyplot as pltimport mpl_toolkits.axisartist.angle_helper as angle_helperfrom matplotlib.projections import PolarAxesfrom matplotlib.transforms import Affine2Dfrom mpl_toolkits.axisartist import SubplotHostfrom mpl_toolkits.axisartist import GridHelperCurveLineardef curvelinear_test2(fig):"""Polar projection, but in a rectangular box."""# see demo_curvelinear_grid.py for detailstr = Affine2D().scale(np.pi / 180., 1.) + PolarAxes.PolarTransform()extreme_finder = angle_helper.ExtremeFinderCycle(20,20,lon_cycle=360,lat_cycle=None,lon_minmax=None,lat_minmax=(0,np.inf),)grid_locator1 = angle_helper.LocatorDMS(12)tick_formatter1 = angle_helper.FormatterDMS()grid_helper = GridHelperCurveLinear(tr,extreme_finder=extreme_finder,grid_locator1=grid_locator1,tick_formatter1=tick_formatter1)ax1 = SubplotHost(fig, 1, 1, 1, grid_helper=grid_helper)fig.add_subplot(ax1)# Now creates floating axis# floating axis whose first coordinate (theta) is fixed at 60ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 60)axis.label.set_text(r"$\theta = 60^{\circ}$")axis.label.set_visible(True)# floating axis whose second coordinate (r) is fixed at 6ax1.axis["lon"] = axis = ax1.new_floating_axis(1, 6)axis.label.set_text(r"$r = 6$")ax1.set_aspect(1.)ax1.set_xlim(-5, 12)ax1.set_ylim(-5, 10)ax1.grid(True)fig = plt.figure(1, figsize=(5, 5))fig.clf()curvelinear_test2(fig)plt.show()
