python如何画多个纵坐标_python中用Matplotlib做多个纵轴 (多y轴)

Matlab里做多给轴的函数很直接,双轴是plotyy, 三轴是plotyyy, 四轴是plot4y,更多应该是multiplotyyy。

而matplotlib似乎可以用figure.add_axes()来实现,探索中……

多轴绘制的图层原理

关于Matplotlib的图层

图层可分为四种

Canvas层 画布层 位于最底层,用户一般接触不到。 matplotlib.pyplot就是一个canvas层

Figure层 图像层 建立在Canvas之上。 plt.figure()就是一个figure层

Axes层 坐标层 建立在Figure之上。fig.add_axes(ax)就加一个Axes层ax在figure上,这时就可以画出一个空白的坐标了。

plot层 绘制层 坐标轴、图例等辅助信息层以及图像层都是建立在Axes之上

【2018-5-14】

多轴的绘制要用到有两种方法可以实现,一是用主轴和寄生轴的方法,即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上 设置轴的外面特性,比如颜色,刻度范围等

frommpl_toolkits.axisartist.parasite_axes import HostAxes, ParasiteAxes

import matplotlib.pyplotasplt

import numpyasnp

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

ax_cof= HostAxes(fig, [0, 0, 0.9, 0.9]) #用[left, bottom, weight, height]的方式定义axes,0 <= l,b,w,h <= 1#parasite addtional axes, share x

ax_temp= ParasiteAxes(ax_cof, sharex=ax_cof)

ax_load= ParasiteAxes(ax_cof, sharex=ax_cof)

ax_cp= ParasiteAxes(ax_cof, sharex=ax_cof)

ax_wear= ParasiteAxes(ax_cof, sharex=ax_cof)

#append axes

ax_cof.parasites.append(ax_temp)

ax_cof.parasites.append(ax_load)

ax_cof.parasites.append(ax_cp)

ax_cof.parasites.append(ax_wear)

#invisible right axis of ax_cof

ax_cof.axis['right'].set_visible(False)

ax_cof.axis['top'].set_visible(False)

ax_temp.axis['right'].set_visible(True)

ax_temp.axis['right

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以给您展示如何用 Python 画一个简单的折线图。这里我们用 matplotlib 库来实现。 首先,我们需要安装 matplotlib 库。在命令行中输入以下命令: ``` pip install matplotlib ``` 接下来,我们来画一个简单的折线图: ```python import matplotlib.pyplot as plt # x和y的坐标 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 绘制折线图 plt.plot(x, y) # 添加标题和坐标轴标签 plt.title("Simple Line Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") # 显示图像 plt.show() ``` 这段代码会生成一个简单的折线图,如下图所示: ![line_plot](https://img-blog.csdn.net/20180505180806669?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG9nb18xMTIxMzY1MjQyMzI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75) 这只是一个简单的例子,您可以在 matplotlib 官方文档中找到更多绘图例子和用法。 ### 回答2: 要使用Python来绘制图形,可以使用诸如matplotlib和turtle等图形库。下面是一个使用matplotlib绘制折线图的例子: ```python import matplotlib.pyplot as plt # 准备数据 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 创建图形对象 fig, ax = plt.subplots() # 绘制折线图 ax.plot(x, y) # 添加标题和坐标轴标签 ax.set_title('折线图示例') ax.set_xlabel('X轴') ax.set_ylabel('Y轴') # 显示图形 plt.show() ``` 这段代码首先导入了matplotlib库,并准备了一些数据(x和y坐标值)。然后,创建一个图形对象,并使用`plot`函数绘制折线图。接下来,通过`set_title`、`set_xlabel`和`set_ylabel`函数分别设置标题和坐标轴的标签。最后,使用`show`函数显示图形。执行这段代码将会生成一个简单的折线图,横轴表示x值,纵轴表示y值。 除了折线图,matplotlib还支持绘制其他类型的图形,如散点图、柱状图、饼图等。具体可以根据需要选择合适的函数进行绘制。同样地,使用turtle库也可以实现绘制各种图形,如直线、多边形、圆等。 ### 回答3: 使用Python编程语言可以使用多种库来绘制图表,其中最常用的是matplotlib库。下面以绘制折线图为例来说明如何使用Python代码绘制一个图形。 首先,我们需要安装并导入matplotlib库。使用以下命令来安装该库: ``` pip install matplotlib ``` 在Python代码中导入matplotlib库: ```python import matplotlib.pyplot as plt ``` 接下来,我们可以传入x和y的值以绘制折线图。以下是一个简单的例子: ```python x = [1, 2, 3, 4, 5] # x轴的值 y = [2, 4, 6, 8, 10] # y轴的值 plt.plot(x, y) # 绘制折线图 plt.xlabel('x轴') # 设置x轴标签 plt.ylabel('y轴') # 设置y轴标签 plt.title('折线图') # 设置图表标题 plt.show() # 显示图表 ``` 运行以上Python代码后,将会弹出一个窗口显示绘制的折线图。该图表的x轴显示从1到5的连续数字,y轴显示对应的2、4、6、8、10这些数值。图表上方显示了标题,左侧显示了y轴标签,底部显示了x轴标签。 以上是一个简单的例子,你还可以根据具体需求设置更多的参数,如线条颜色、样式、点标记等等。使用matplotlib库可以帮助你绘制各种类型的图表,包括折线图、柱状图、散点图等等,让数据更加直观地呈现出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值