mirror of
https://github.com/Estom/notes.git
synced 2026-04-13 10:49:45 +08:00
matplotlib & pandas
This commit is contained in:
76
Python/matplotlab/gallery/axisartist/demo_floating_axis.md
Normal file
76
Python/matplotlab/gallery/axisartist/demo_floating_axis.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 演示浮动轴2
|
||||
|
||||
轴在矩形框内
|
||||
|
||||
以下代码演示了如何将浮动极坐标曲线放在矩形框内。 为了更好地了解极坐标曲线,请查看demo_curvelinear_grid.py。
|
||||
|
||||

|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import mpl_toolkits.axisartist.angle_helper as angle_helper
|
||||
from matplotlib.projections import PolarAxes
|
||||
from matplotlib.transforms import Affine2D
|
||||
from mpl_toolkits.axisartist import SubplotHost
|
||||
from mpl_toolkits.axisartist import GridHelperCurveLinear
|
||||
|
||||
|
||||
def curvelinear_test2(fig):
|
||||
"""Polar projection, but in a rectangular box.
|
||||
"""
|
||||
# see demo_curvelinear_grid.py for details
|
||||
tr = 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 60
|
||||
ax1.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 6
|
||||
ax1.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()
|
||||
```
|
||||
|
||||
## 下载这个示例
|
||||
|
||||
- [下载python源码: demo_floating_axis.py](https://matplotlib.org/_downloads/demo_floating_axis.py)
|
||||
- [下载Jupyter notebook: demo_floating_axis.ipynb](https://matplotlib.org/_downloads/demo_floating_axis.ipynb)
|
||||
Reference in New Issue
Block a user