相关疑难解决方法(0)

为什么matplotlib需要在plt.scatter()之前设置日志比例而不是plt.plot()?

我在这个有用的答案中发现plt.scatter(),plt.plot()当在y轴上使用对数刻度时, 表现不同.

有了plot,我可以在使用之前随时更改为日志plt.show(),但必须在使用分散方法之前预先设置日志.

这只是matplotlib中的一个历史性且不可逆转的工件,还是属于"意外行为"类别?

在此输入图像描述

import matplotlib.pyplot as plt

X = [0.997, 2.643, 0.354, 0.075, 1.0, 0.03, 2.39, 0.364, 0.221, 0.437]
Y = [15.487507, 2.320735, 0.085742, 0.303032, 1.0, 0.025435, 4.436435,
     0.025435, 0.000503, 2.320735]

plt.figure()

plt.subplot(2,2,1)
plt.scatter(X, Y)
plt.xscale('log')
plt.yscale('log')
plt.title('scatter - scale last')   

plt.subplot(2,2,2)
plt.plot(X, Y)
plt.xscale('log')
plt.yscale('log')
plt.title('plot - scale last')   

plt.subplot(2,2,3)
plt.xscale('log')
plt.yscale('log')
plt.scatter(X, Y)
plt.title('scatter - scale first')   


plt.subplot(2,2,4)
plt.xscale('log')
plt.yscale('log')
plt.plot(X, Y)
plt.title('plot - scale …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-2.7

19
推荐指数
1
解决办法
2618
查看次数

标签 统计

matplotlib ×1

python ×1

python-2.7 ×1