【发布时间】:2021-04-27 09:02:54
【问题描述】:
我想绘制一个函数,但 y 轴不在我希望的范围内。你有解决方案吗?我希望 y 轴在 0 到 1E6 的范围内,以 10 次方显示
#packages
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors as mcolors
from matplotlib.backends.backend_pdf import PdfPages
from scipy.optimize import curve_fit
from sklearn.metrics import r2_score
# Parameter
#p = np.arange(start=0.0000001, stop=0.0035, step=0.00001)
#Cu = p[1::20]
Cu = np.arange(start=0.0000001, stop=0.0035, step=0.0000001)
n1 = 0.95
n2 = 3.7
n = n1 + n2
Ka1 = 231000
Ka2 = 5900
K = n1*Ka1 + n2*Ka2
# Function r1 and r2
def r_single(cu, n, Ka):
return (n*Ka*cu)/(1+(Ka*cu))
# Green Curve
def r(cu, n_1, Ka_1, n_2, Ka_2):
return ((n_1*Ka_1*cu)/(1+(Ka_1*cu)))+((n_2*Ka_2*cu)/(1+(Ka_2*cu)))
g=[n1, Ka1, n2, Ka2]
y = np.empty(len(Cu))
for i in range(len(Cu)):
y[i] = r(Cu[i], g[0], g[1], g[2], g[3])
#======================================================================
以上只是为了生成所需的值
# Function rose (r = bindungsstellen = bin)
def rose_fun(cu, ni, Ka, bin):
return (ni*Ka-Ka*bin)
def rose_fun2(cu, ni, Ka, bin):
return (bin/cu)
rose_var=[y, Cu, n, K]
rose= np.empty(len(Cu))
rose_value = rose_fun(Cu, n, K, y)
plt.plot(Cu, rose_value, color="k")
plt.ticklabel_format(axis = 'y', style = 'scientific')
x3 = plt.show()
【问题讨论】:
标签: python matplotlib plot scale axis