python – Matplotlib:创建两个子图,每个子图与两个y轴对齐
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Matplotlib:创建两个子图,每个子图与两个y轴对齐,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1917字,纯文字阅读大概需要3分钟。
内容图文
![python – Matplotlib:创建两个子图,每个子图与两个y轴对齐](/upload/InfoBanner/zyjiaocheng/735/a3e91c9818b1419c8da1d60e85c0fa21.jpg)
This matplotlib tutorial显示了如何使用两个y轴(两个不同的比例)创建绘图:
import numpy as np
import matplotlib.pyplot as plt
def two_scales(ax1, time, data1, data2, c1, c2):
ax2 = ax1.twinx()
ax1.plot(time, data1, color=c1)
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp')
ax2.plot(time, data2, color=c2)
ax2.set_ylabel('sin')
return ax1, ax2
# Create some mock data
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
s2 = np.sin(2 * np.pi * t)
# Create axes
fig, ax = plt.subplots()
ax1, ax2 = two_scales(ax, t, s1, s2, 'r', 'b')
# Change color of each axis
def color_y_axis(ax, color):
"""Color your axes."""
for t in ax.get_yticklabels():
t.set_color(color)
return None
color_y_axis(ax1, 'r')
color_y_axis(ax2, 'b')
plt.show()
我的问题:你如何修改代码来创建两个这样的子图,只是水平对齐?
我会做点什么的
fig, ax = plt.subplots(1,2,figsize=(15, 8))
plt.subplot(121)
###plot something here
plt.subplot(122)
###plot something here
但是你如何确保被称为创建轴的fig,ax = plt.subplots()不会与你调用的fig,ax = plt.subplots(1,2,figsize =(15,8))冲突创建水平对齐的画布?
解决方法:
您将创建两个子图,(ax1,ax2)= plt.subplots(1,2)并对每个子图应用两个子图.
import numpy as np
import matplotlib.pyplot as plt
def two_scales(ax1, time, data1, data2, c1, c2):
ax2 = ax1.twinx()
ax1.plot(time, data1, color=c1)
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp')
ax2.plot(time, data2, color=c2)
ax2.set_ylabel('sin')
return ax1, ax2
# Create some mock data
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
s2 = np.sin(2 * np.pi * t)
# Create axes
fig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,4))
ax1, ax1a = two_scales(ax1, t, s1, s2, 'r', 'b')
ax2, ax2a = two_scales(ax2, t, s1, s2, 'gold', 'limegreen')
# Change color of each axis
def color_y_axis(ax, color):
"""Color your axes."""
for t in ax.get_yticklabels():
t.set_color(color)
color_y_axis(ax1, 'r')
color_y_axis(ax1a, 'b')
color_y_axis(ax2, 'gold')
color_y_axis(ax2a, 'limegreen')
plt.tight_layout()
plt.show()
内容总结
以上是互联网集市为您收集整理的python – Matplotlib:创建两个子图,每个子图与两个y轴对齐全部内容,希望文章能够帮你解决python – Matplotlib:创建两个子图,每个子图与两个y轴对齐所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。