【问题标题】:Python - Plot a log-log plot with matplotlibPython - 使用 matplotlib 绘制对数图
【发布时间】:2014-05-23 12:30:10
【问题描述】:

我只是想在 log-log 比例图中绘制“a vs b”,但出现错误。

import matplotlib.pyplot as plt

a = [7255.151855, 231.589661, 9.365415, 0.55364, 1.5001, 0.006408, 0.001204, 0.000842]
b = [0.212399, 0.393191, 0.727874, 1.347436, 2.494368, 4.617561, 8.548006, 15.824027]

CyclesPerBlock = 219397
LoadAmplitude = 4990

a = [x*CyclesPerBlock for x in a]
b = [y*LoadAmplitude for y in b]

fig = plt.plot
fig.set_xscale("log")
fig.set_yscale("log")
fig.set_xlim(1e-3, 1e4)
fig.set_ylim(1e-1, 1e3)
fig.set_aspect(1)
fig.set_title("Calculation Results")

fig.plot(a, b, "o-")
plt.draw()
plt.show()

【问题讨论】:

  • 您得到了答案,但最好在发布您的问题时包含完整的回溯。最好发布生成问题所需的最少代码量。

标签: python matplotlib plot logarithm


【解决方案1】:

你必须先创建AxesSubplot对象,然后用它来绘图:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xscale("log")
ax.set_yscale("log")
ax.set_xlim(1e-3, 1e4) # <-- check this as pointed out by @tillsten
ax.set_ylim(1e-1, 1e3) # <--
ax.set_aspect(1)
ax.set_title("Calculation Results")

ax.plot(a, b, "o-")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多