我的跟踪文件可以从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)
当我以对数比例绘制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)
我不确定我要去哪里错。欢迎任何想法/建议
最佳答案
看起来您的X值中有一些零。未定义log(0)
,log(veryclosetozero)
是10^{-verymuch}
。
编辑:
另外,数字的浮点表示并不总是完全准确,因此0.0
可能最终被存储为0.00000000000000000001
或类似名称。在这种情况下,对数函数不会引发错误,而只是计算非常小的东西的对数。
关于python - 使用matplotlib在 Pandas 中以对数比例绘制x和y轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38785579/