【问题标题】:Python: draw multiple figures in separate windows (same data but with different X range)Python:在不同的窗口中绘制多个图形(相同的数据但具有不同的 X 范围)
【发布时间】:2018-11-14 09:30:38
【问题描述】:

我想知道如何在单独的图中绘制数据(而不是在一个窗口中绘制多个图)。问题是我想在不同的 X 范围内可视化数据。例如:

import numpy as np
import pandas as pd
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
X=np.linspace(0,100,num=1000)
Y=X**2-X
fig=plt.figure()
plt.plot(X,Y)
matplotlib.pyplot.xlim([0, 50])
plt.show()
fig=plt.figure()
plt.plot(X,Y)
matplotlib.pyplot.xlim([50, 100])
plt.show()

这里我得到两个不同的数字。但是我重复 plt.plot() 对相同的数据。如果数据很大,可能需要一些时间。

【问题讨论】:

  • 通过plt.figure()plt.subplots() 创建一个新图形。除此之外,还不清楚问题是什么。如果您对代码有疑问,最好使用代码。
  • 很抱歉没有说明。希望现在清楚问题所在。

标签: python windows matplotlib axes subfigure


【解决方案1】:

您可以限制要绘制的数据范围,而不仅仅是查看间隔。为此,您可以引入一个条件并过滤要根据该条件绘制的数组。

import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

X=np.linspace(0,100,num=1000)
Y=X**2-X

ranges = [[0, 50], [50, 100]]

for r in ranges:
    cond = (X >= r[0]) & (X <= r[1])
    fig=plt.figure()
    plt.plot(X[cond],Y[cond])
    plt.xlim(r)

plt.show()

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    相关资源
    最近更新 更多