作者:mobiledu2502928483 | 来源:互联网 | 2023-02-03 13:56
我有以下几对要用对数刻度绘制的点.
import matplotlib.pyplot as plt
f, ax = plt.subplots(1)
xdata = [256, 512, 1024, 2048]
ydata = [1, 2, 30, 150]
ax.scatter(xdata, ydata)
ax.set_ylim(ymin=0)
ax.set_xlim(xmin=0)
plt.show(f)
点渲染,但我不知道如何使两个轴上的基数为2的对数.我希望每个增量加倍值,例如x增量应为0,256,512,1024,2048(字节),y增量应为分钟,其中数据现在为秒:0,1,2,4,8,16 ,32.
可以吗?
1> Leon..:
你想要的是一个对数尺度(而不是指数).我想这就是你自己找不到答案的原因,否则你很容易就会得到相应的matplotlib例子.
以下应该有效(与您的要求唯一不同的是轴标签的形式为2 n而不是普通数字):
import matplotlib.pyplot as plt
f, ax = plt.subplots(1)
xdata = [256, 512, 1024, 2048]
ydata = [1, 2, 30, 150]
plt.xscale('log', basex=2)
plt.yscale('log', basey=2)
ax.scatter(xdata, ydata)
ax.set_ylim(ymin=0)
plt.show(f)