gpt4 book ai didi

python - Matplotlib:绘制两个 x 轴,一个是线性的,一个是对数刻度

转载 作者:太空狗 更新时间:2023-10-30 01:36:34 25 4
gpt4 key购买 nike

(大量编辑:)

在 python matplotlib 中,我想用两个 xscales 绘制 yx,下一个是线性刻度,上一个是对数刻度。

较低的 x 值是较高值的任意函数(在这种情况下,映射是 func(x)=np.log10(1.0+ x)).推论:上方的 x 刻度位置与下方的刻度位置是相同的任意函数。

数据点的位置和两个轴的刻度位置必须解耦。

我希望上轴的对数刻度位置和标签尽可能整齐。

制作这样一个情节的最佳方式是什么?

相关: http://matplotlib.1069221.n5.nabble.com/Two-y-axis-with-twinx-only-one-of-them-logscale-td18255.html

类似(但未回答)的问题? Matplotlib: how to set ticks of twinned axis in log plot

可能有用: https://stackoverflow.com/a/29592508/1021819

最佳答案

您可能会发现 Axes.twiny()Axes.semilogx()有用。

import numpy as np
import matplotlib.pyplot as plt

fig, ax1 = plt.subplots()

x = np.arange(0.01, 10.0, 0.01) # x-axis range
y = np.sin(2*np.pi*x) # simulated signal to plot

ax1.plot(x, y, color="r") # regular plot (red)
ax1.set_xlabel('x')

ax2 = ax1.twiny() # ax1 and ax2 share y-axis
ax2.semilogx(x, y, color="b") # semilog plot (blue)
ax2.set_xlabel('semilogx')

plt.show()

关于python - Matplotlib:绘制两个 x 轴,一个是线性的,一个是对数刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323530/

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