python 画图旋转坐标轴
时间: 2024-10-26 16:00:57 浏览: 61
图片坐标设置_python画图坐标设置代码_
5星 · 资源好评率100%
在Python中,我们可以使用matplotlib库来绘制图表,并通过一些高级功能对坐标轴进行旋转。例如,如果你想将x轴或y轴顺时针旋转一定的角度,可以使用`matplotlib.transforms.Affine2D`和`ax.axis()`函数。以下是一个简单的示例:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
# 创建数据
theta = np.linspace(0, 2 * np.pi, 100)
r = 1 + 0.5 * np.sin(theta)
fig, ax = plt.subplots()
ax.set_aspect('equal') # 设置正方形比例
# 使用Affine2D创建变换并应用到坐标轴
trans_angle = fig.transData.transform_angles(np.array((90,)), (0, 0)) # 逆时针旋转90度
rotated_axis = ax.get_xaxis().get_transform(trans_angle[0])
ax.xaxis.set_major_formatter(mpl.ticker.FuncFormatter(lambda x, pos: f'{x:.0f}$^\circ$')) # 添加角度标签
ax.plot(r * np.cos(theta), r * np.sin(theta))
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
# 添加分隔符,使得刻度线与坐标轴成直角
divider = make_axes_locatable(ax)
ax_histx = divider.append_axes("top", 1.2, pad=0.1, sharex=ax) # 添加x轴的直角坐标轴
ax_histy = divider.append_axes("right", 1.2, pad=0.1, sharey=ax) # 添加y轴的直角坐标轴
plt.show()
阅读全文