mirror of
https://github.com/Estom/notes.git
synced 2026-04-05 03:48:56 +08:00
matplotlib & pandas
This commit is contained in:
56
Python/matplotlab/gallery/mplot3d/2dcollections3d.md
Normal file
56
Python/matplotlab/gallery/mplot3d/2dcollections3d.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 在3D绘图上绘制2D数据
|
||||
|
||||
演示使用ax.plot的zdir关键字在3D绘图的选择轴上绘制2D数据。
|
||||
|
||||

|
||||
|
||||
```python
|
||||
# This import registers the 3D projection, but is otherwise unused.
|
||||
from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import
|
||||
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
fig = plt.figure()
|
||||
ax = fig.gca(projection='3d')
|
||||
|
||||
# Plot a sin curve using the x and y axes.
|
||||
x = np.linspace(0, 1, 100)
|
||||
y = np.sin(x * 2 * np.pi) / 2 + 0.5
|
||||
ax.plot(x, y, zs=0, zdir='z', label='curve in (x,y)')
|
||||
|
||||
# Plot scatterplot data (20 2D points per colour) on the x and z axes.
|
||||
colors = ('r', 'g', 'b', 'k')
|
||||
|
||||
# Fixing random state for reproducibility
|
||||
np.random.seed(19680801)
|
||||
|
||||
x = np.random.sample(20 * len(colors))
|
||||
y = np.random.sample(20 * len(colors))
|
||||
c_list = []
|
||||
for c in colors:
|
||||
c_list.extend([c] * 20)
|
||||
# By using zdir='y', the y value of these points is fixed to the zs value 0
|
||||
# and the (x,y) points are plotted on the x and z axes.
|
||||
ax.scatter(x, y, zs=0, zdir='y', c=c_list, label='points in (x,z)')
|
||||
|
||||
# Make legend, set axes limits and labels
|
||||
ax.legend()
|
||||
ax.set_xlim(0, 1)
|
||||
ax.set_ylim(0, 1)
|
||||
ax.set_zlim(0, 1)
|
||||
ax.set_xlabel('X')
|
||||
ax.set_ylabel('Y')
|
||||
ax.set_zlabel('Z')
|
||||
|
||||
# Customize the view angle so it's easier to see that the scatter points lie
|
||||
# on the plane y=0
|
||||
ax.view_init(elev=20., azim=-35)
|
||||
|
||||
plt.show()
|
||||
```
|
||||
|
||||
## 下载这个示例
|
||||
|
||||
- [下载python源码: 2dcollections3d.py](https://matplotlib.org/_downloads/2dcollections3d.py)
|
||||
- [下载Jupyter notebook: 2dcollections3d.ipynb](https://matplotlib.org/_downloads/2dcollections3d.ipynb)
|
||||
Reference in New Issue
Block a user