如何将辅助 X 轴和 Y 轴添加到 matplotlib 中的同一个图中?

问题描述

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import FormatStrFormatter
from solving_functions import single_well_capacity

fontsize_labels = 10
fontsize_tick_labels = 8
fontsize_legend = 8

fig,ax1 = plt.subplots()
fig.set_size_inches(4,3)

ax1.set_title('(a)')

######ParaMETERS######
T_basecase=100
t_end_basecase=30
S_basecase=1e-3
rw_basecase=0.25
hmax_basecase=50
F_basecase = 0

n = 1000
# uw = np.logspace(-14,1,n)
Vmax = single_well_capacity(T_basecase,S_basecase,t_end_basecase,hmax_basecase,rw_basecase,F_basecase)

#####<<<<<<<<<<<<<<<<<<<<<<TRANSMISSIVITY>>>>>>>>>>>

T_log10 = np.linspace(-1,4,n)
T = np.power(10,T_log10)
color = 'tab:red'
Vmax_T=single_well_capacity(T,F_basecase)
V_max_Dimensionless_T = Vmax_T/Vmax 
ax1.loglog(T,V_max_Dimensionless_T,label='Dimensionless single-well \n capacity',color=color)

ax1.set_ylabel(r'$V_{sw}^{max*}$',fontsize=fontsize_labels,color=color)
ax1.set_xlabel(r'$T\ (m^2/day)$',color=color)
ax1.tick_params(axis='both',which='major',labelsize=fontsize_tick_labels)
ax1.set_xlim(1e-1,1e4)


######<<<<<<<<<<<<<<<<<<<<<<STORATIVITY>>>>>>>>>>>
S_log10 = np.linspace(-5,-0.523,n)
S = np.power(10,S_log10)
color = 'tab:blue'
Vmax_S=single_well_capacity(T_basecase,S,F_basecase)
V_max_Dimensionless_S = Vmax_S/Vmax

ax2.semilogx(S,V_max_Dimensionless_S,color=color)

ax2.set_ylabel(r'$V_{sw}^{max*}$',color=color)
ax2.set_xlabel(r'$S\ (-)$',fontsize=fontsize_labels)
ax2.tick_params(axis='both',labelsize=fontsize_tick_labels)
ax2.yaxis.set_major_formatter(FormatStrFormatter('%.2g'))
ax2.set_xlim(1e-5,0.3)
ax2.set_ylim(0.8,1.5)
plt.tight_layout()
plt.show()

我有兴趣在一个图中绘制两条曲线,以便我有辅助 X 轴和 Y 轴。我不知道如何为两者设置辅助轴。对于一个辅助 X 轴,“ax2 = ax1.twinx()”有效,但我对 X 和 Y 都有一个辅助轴感兴趣。有人可以向我建议一些解决方案吗?你的建议对我很有帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...