gpt4 book ai didi

python - 使用 Matplotlib 复制 Log10 缩放

转载 作者:太空宇宙 更新时间:2023-11-03 20:35:36 25 4
gpt4 key购买 nike

我正在尝试重新创建一个 y 轴样式如下的绘图:

enter image description here

但似乎无法弄清楚如何让轴中断和标签按照我想要的方式排列。我目前正在我的代码中执行此操作:

# plot lines
for key, group in grouped:
plt.plot(group.x * 950, np.log10(group.y), label=key)

# plot points
exp_group = exp_data.groupby('Experiment')
for key, group in exp_group:
plt.plot(group.x, np.log10(group.y), label=key, marker='o')

plt.yticks(np.arange(-3, 3), label=10.0**np.arange(-3,3))
plt.show()

enter image description here

最佳答案

解决方案是使用 plt.yticks :

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000)
y = np.exp(x) - x**3 + x**2 - x**(1/2)

plt.figure()
plt.semilogy(x, y)
locs, labels = plt.yticks()
print(locs)
print(labels)
lst_10 = [1, 10, 100, 1000, 10000]
plt.yticks(lst_10, lst_10)
plt.title('Different label on y-axis')

plt.figure()
plt.semilogy(x, y)
plt.title('Default label')
plt.show()

函数plt.yticks采用两个参数:位置和标签。我想要位置 1、10、100、1000、10000 的标签;我希望标签(位置 1 中)具有标签 1,标签(位置 10 中)具有标签 10,依此类推。我还使用了 plt.semilogy 来获取半对数轴。

关于python - 使用 Matplotlib 复制 Log10 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57190098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com