gpt4 book ai didi

python - pyplot : loglog() with base e

转载 作者:太空狗 更新时间:2023-10-29 21:37:21 25 4
gpt4 key购买 nike

Python(和 matplotlib)新手是从 R 过来的,所以我希望这个问题不是太白痴。我正在尝试在自然对数刻度上制作对数对数图。但是经过一些谷歌搜索后,我无法以某种方式弄清楚如何强制 pyplot 在轴上使用基本的 e 刻度。我目前的代码:

import matplotlib.pyplot as pyplot 
import math

e = math.exp(1)
pyplot.loglog(range(1,len(degrees)+1),degrees,'o',basex=e,basey=e)

其中 degreesrange(1,len(degrees)+1) 的每个值的计数向量。出于某种原因,当我运行这段代码时,pyplot 一直给我一个坐标轴为 2 的幂的图。我觉得这应该很容易,但我很难过......

非常感谢任何建议!

最佳答案

使用 plt.loglog 绘图时您可以传递关键字参数 basexbasey,如下所示。

从 numpy 你可以得到 e 常量 numpy.e (或者 np.e 如果你 import numpy as np )

import numpy as np
import matplotlib.pyplot as plt

# Generate some data.
x = np.linspace(0, 2, 1000)
y = x**np.e

plt.loglog(x,y, basex=np.e, basey=np.e)
plt.show()

编辑

此外,如果你想要漂亮的蜱虫,你可以使用 matplotlib.ticker选择刻度的格式,下面给出了一个示例。

import numpy as np

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

x = np.linspace(1, 4, 1000)

y = x**3

fig, ax = plt.subplots()

ax.loglog(x,y, basex=np.e, basey=np.e)

def ticks(y, pos):
return r'$e^{:.0f}$'.format(np.log(y))

ax.xaxis.set_major_formatter(mtick.FuncFormatter(ticks))
ax.yaxis.set_major_formatter(mtick.FuncFormatter(ticks))

plt.show()

Plot

关于python - pyplot : loglog() with base e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312803/

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