如何绘制两个y轴的折线图
时间: 2023-05-21 14:01:51 浏览: 72
要绘制两个y轴的折线图,可以使用Matplotlib库中的twinx()函数。首先,导入Matplotlib库和Numpy库,然后创建一个Figure对象和两个Axes对象,分别表示左右两个y轴。接着,使用twinx()函数将右侧的y轴与左侧的y轴绑定在一起,然后分别绘制左右两个y轴的折线图即可。以下是示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建Figure对象和两个Axes对象
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
# 绘制左侧y轴的折线图
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
ax1.plot(x, y1, 'b-')
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='b')
ax1.tick_params('y', colors='b')
# 绘制右侧y轴的折线图
y2 = np.cos(x)
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('Y2 data', color='r')
ax2.tick_params('y', colors='r')
plt.show()
```
运行以上代码,即可得到一张带有左右两个y轴的折线图。
相关问题
如何用pyecharts绘制两个y轴的折线图
可以使用如下代码实现:
```python
from pyecharts.charts import Line
from pyecharts import options as opts
# 数据
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y1_data = [820, 932, 901, 934, 1290, 1330, 1320]
y2_data = [820, 832, 901, 934, 1290, 1330, 1320]
# 创建图表对象
line = Line()
# 配置第一个 y 轴数据
line.add_yaxis(
series_name="y1",
y_axis=y1_data,
linestyle_opts=opts.LineStyleOpts(width=4),
label_opts=opts.LabelOpts(is_show=True),
)
# 配置第二个 y 轴数据
line.add_yaxis(
series_name="y2",
y_axis=y2_data,
linestyle_opts=opts.LineStyleOpts(width=4),
label_opts=opts.LabelOpts(is_show=True),
yaxis_index=1
)
# 配置 x 轴数据
line.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts={"color": "#99ccff", "interval": 0}),
yaxis_opts=[
opts.AxisOpts(
axislabel_opts={"formatter": "{value} 万", "color": "#99ccff"},
name="y1"
),
opts.AxisOpts(
axislabel_opts={"formatter": "{value} %", "color": "#99ccff"},
name="y2",
position="right",
),
]
)
# 渲染图表
line.render("line_chart.html")
```
这段代码中,`y1_data` 和 `y2_data` 分别代表了两条折线图的数据,`add_yaxis` 方法用于添加每一条折线图的数据和样式,`set_global_opts` 方法用于配置全局的 x 轴和 y 轴样式,其中 `yaxis_opts` 参数可以传入一个列表,列表中每一个元素代表一个 y 轴的样式,通过 `yaxis_index` 参数来指定第几条 y 轴。最后,调用 `render` 方法渲染图表。
matlab绘制双y轴折线图
在Matlab中,您可以使用yyaxis函数来创建双y轴折线图。首先,您可以使用yyaxis left命令创建左侧的y轴,并在该轴上绘制您的数据。例如,您可以使用以下代码创建一个基于左侧y轴的折线图:
```
x = linspace(0,25);
y = sin(x/2);
yyaxis left
plot(x, y)
```
接下来,您可以使用yyaxis right命令创建右侧的y轴,并在该轴上绘制另一组数据。例如,您可以使用以下代码在右侧y轴上绘制另外一组数据:
```
rr1 = exp(x/6);
rr2 = exp(x/8);
yyaxis right
plot(x, rr1, x, rr2)
```
这样,您就可以在同一图表上同时显示左右两侧的y轴折线图了。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Matlab绘制包含双Y轴的图](https://blog.csdn.net/qingfengxd1/article/details/120122017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)