双坐标轴legend
时间: 2023-11-17 12:47:31 浏览: 71
你可以使用Matplotlib库来创建一个具有双坐标轴和图例的图形。下面是一个示例代码,演示了如何实现这个功能:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建第一个坐标轴
fig, ax1 = plt.subplots()
ax1.plot(x, y1, 'b-')
ax1.set_xlabel('X轴')
ax1.set_ylabel('sin(x)', color='b')
# 创建第二个坐标轴
ax2 = ax1.twinx()
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('cos(x)', color='r')
# 创建图例
line1, = ax1.plot(x, y1, 'b-', label='sin(x)')
line2, = ax2.plot(x, y2, 'r-', label='cos(x)')
lines = [line1, line2]
labels = [line.get_label() for line in lines]
ax1.legend(lines, labels)
plt.show()
```
这段代码会创建一个带有双坐标轴的图形,其中左侧的坐标轴显示sin(x)数据,右侧的坐标轴显示cos(x)数据。图例中显示了每个线条对应的标签。你可以根据需要自定义图形的样式和标签。
相关问题
python 画双坐标轴
你可以使用 Matplotlib 库来画双坐标轴。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个图形对象和两个子图
fig, ax1 = plt.subplots()
# 创建第一个坐标轴
ax1.set_xlabel('X轴')
ax1.set_ylabel('Y1轴')
ax1.plot(x, y1, color='red', label='Y1')
ax1.tick_params(axis='y', labelcolor='red')
# 创建第二个坐标轴
ax2 = ax1.twinx()
ax2.set_ylabel('Y2轴')
ax2.plot(x, y2, color='blue', label='Y2')
ax2.tick_params(axis='y', labelcolor='blue')
# 添加图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper right')
plt.show()
```
在上面的示例中,`ax1` 是第一个坐标轴,`ax2` 是第二个坐标轴。你可以使用 `plot` 函数来绘制数据,然后使用 `set_xlabel`、`set_ylabel` 设置坐标轴的标签。使用 `tick_params` 可以设置坐标轴的颜色。最后,使用 `legend` 函数添加图例。
请注意,你需要替换示例代码中的 `x`、`y1` 和 `y2` 为你自己的数据。
matlab双坐标轴刻度设置
在 MATLAB 中,可以使用 `yyaxis` 函数来实现双坐标轴的刻度设置。下面是一个示例:
```matlab
% 创建一个示例图形
x = 0:0.1:10;
y1 = sin(x);
y2 = exp(x);
figure;
% 设置第一个坐标轴
yyaxis left;
plot(x, y1, 'b');
ylabel('y1');
% 设置第二个坐标轴
yyaxis right;
plot(x, y2, 'r');
ylabel('y2');
% 设置刻度标签
xticks(0:2:10); % x轴刻度
yticks([-1 0 1]); % y1轴刻度
yticks([0 100 1000]); % y2轴刻度
% 添加图例
legend('y1', 'y2', 'Location', 'northwest');
```
在上面的示例中,首先创建了一个示例图形,包含两个函数 `sin(x)` 和 `exp(x)` 的曲线。然后使用 `yyaxis` 函数分别设置了两个坐标轴,左侧坐标轴用于显示 `y1` 的数据,右侧坐标轴用于显示 `y2` 的数据。使用 `ylabel` 函数设置了每个坐标轴的标签。最后,使用 `xticks` 和 `yticks` 函数设置了各个坐标轴的刻度标签。
阅读全文