mpandroidchart y轴从0开始_python中用Matplotlib做多个纵轴 (多y轴)

3915518852ee3d81b41495d4c7c72537.png

多轴的绘制要用到有两种方法可以实现,一是用主轴和寄生轴的方法,即mpl_toolkits.axisartist.parasite_axes里的HostAxes,和ParasiteAxes。 另一种是用twinx(),结合mpl_toolkits.axes_grid1里的host_subplot。 这里用寄生轴的方法实现。

首先是要创建主轴用HostAxes(figure,[ 左,下,宽,高 ]) 然后寄生出独立的y轴来,并共享x轴。独立的y轴对应独立的曲线 将寄生轴加入主轴的列表

第一根寄生轴可以直接借用原坐标的右轴,所以不需要新增轴 如果需要两个以上的y轴,第三个y轴就要新建固定轴了,要用到get_grid_helper().new_fixed_axis 设置第三及更多Y轴的偏移量 将主轴装载到figure上 设置轴的外面特性,比如颜色,刻度范围等

from mpl_toolkits.axisartist.parasite_axes import HostAxes, ParasiteAxes

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure(1) #定义figure,(1)中的1是什么

ax_cof = HostAxes(fig, [0, 0, 0.9, 0.9]) #用[left, bottom, weight, heig

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Matplotlib 中绘制一个 y 在右侧的图表,可以使用`matplotlib.pyplot.subplots()`函数创建一个包含两个坐标的图像,然后调用其中一个坐标的`ax.twinx()`方法来创建一个第二个独立的 y 。可以在第二个坐标上绘制数据,并使用`ax.set_ylabel()`方法为每个坐标设置标签。 以下是一个示例代码,展示了如何画出 y 在右侧的图表: ```python import matplotlib.pyplot as plt import numpy as np # 创建一个包含两个坐标的图像 fig, ax = plt.subplots() # 创建第二个独立的 y ax2 = ax.twinx() # 绘制数据到第一个 y x = np.arange(0, 10, 0.1) y1 = np.sin(x) ax.plot(x, y1, 'b-') # 绘制数据到第二个 y y2 = np.exp(x) ax2.plot(x, y2, 'r-') # 设置每个坐标的标签 ax.set_xlabel('x') ax.set_ylabel('sin(x)', color='b') ax2.set_ylabel('exp(x)', color='r') # 调整第一个 y 的标签位置 ax.tick_params(axis='y', labelcolor='b') ax.yaxis.labelpad = 20 # 显示图表 plt.show() ``` 在这个示例中,`ax.twinx()`方法创建了一个第二个独立的 y ,它被分配给变量`ax2`。我们使用`ax.plot()`方法在第一个 y 上绘制一个蓝色的正弦曲线,使用`ax2.plot()`方法在第二个 y 上绘制一个红色的指数曲线。我们还使用`ax.set_ylabel()`和`ax2.set_ylabel()`方法为每个坐标设置标签,并使用`ax.tick_params()`方法调整第一个 y 的标签位置。 运行这个代码将会得到一个图像,其中正弦曲线在左侧 y 上绘制,指数曲线在右侧 y 上绘制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值