我的跟踪文件可以从here下载。

当我仅以对数刻度绘制y轴时。一切顺利

import pandas as pd
import numpy
import matplotlib.pyplot as plt

iplevel = pd.read_csv('iplevel.csv')
fig = plt.figure()
#plt.xscale('log')
plt.yscale('log')
plt.title(' Size Vs Duration (at IP level) for ')

plt.xlabel('Duration (in seconds)')
plt.ylabel('Size (in bytes)')
plt.scatter(iplevel['Time'], iplevel['Length'])
fig.tight_layout()
fig.savefig('iplevel_timevdur.png', dpi=fig.dpi)


python - 使用matplotlib在 Pandas 中以对数比例绘制x和y轴-LMLPHP

当我以对数比例绘制x和y轴时,会发生奇怪的情况

import pandas as pd
import numpy
import matplotlib.pyplot as plt

iplevel = pd.read_csv('iplevel.csv')
fig = plt.figure()
plt.xscale('log')
plt.yscale('log')
plt.title(' Size Vs Duration (at IP level) for ')

plt.xlabel('Duration (in seconds)')
plt.ylabel('Size (in bytes)')
plt.scatter(iplevel['Time'], iplevel['Length'])
fig.tight_layout()
fig.savefig('iplevel_timevdur.png', dpi=fig.dpi)


python - 使用matplotlib在 Pandas 中以对数比例绘制x和y轴-LMLPHP

我不确定我要去哪里错。欢迎任何想法/建议

最佳答案

看起来您的X值中有一些零。未定义log(0)log(veryclosetozero)10^{-verymuch}

编辑:
另外,数字的浮点表示并不总是完全准确,因此0.0可能最终被存储为0.00000000000000000001或类似名称。在这种情况下,对数函数不会引发错误,而只是计算非常小的东西的对数。

关于python - 使用matplotlib在 Pandas 中以对数比例绘制x和y轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38785579/

10-13 01:35