Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib 如何为不同的轴参数多次重绘pyplot_Matplotlib_Ipython Notebook - Fatal编程技术网

Matplotlib 如何为不同的轴参数多次重绘pyplot

Matplotlib 如何为不同的轴参数多次重绘pyplot,matplotlib,ipython-notebook,Matplotlib,Ipython Notebook,我正在使用IPython笔记本电脑。我在同一个图中有一堆情节。 我需要使用不同的轴参数显示这些图,即针对以下四种情况: Cases x-axis y-axis 1 non-log non-log 2 non-log log 3 log non-log 4 log log 有没有这样简单的方法: #many lines of code for generating bunch of plots plt.show() #fig

我正在使用IPython笔记本电脑。我在同一个图中有一堆情节。 我需要使用不同的轴参数显示这些图,即针对以下四种情况:

Cases  x-axis   y-axis
1      non-log  non-log
2      non-log  log
3      log      non-log
4      log      log
有没有这样简单的方法:

#many lines of code for generating bunch of plots
plt.show()

#figure shown with non-log axis

ax.set_yscale('log')
plt.show()

#figure shown with log y-axis    

ax.set_xscale('log')
plt.show()

#figure shown with log x-axis and log y-axis
plt.show将显示数字,并在之后进行分解。它不打算在脚本中多次使用

您可以选择在函数中进行绘图,并根据参数创建不同的图形。以下将为所有4种情况创建图形:

import matplotlib.pyplot as plt
import numpy as np

x = np.logspace(0,3, 250)
y = .4*x

def plot(x,y,logx=False, logy=False):
    fig, ax = plt.subplots()
    if logy: ax.set_yscale('log')
    if logx: ax.set_xscale('log')
    ax.plot(x,y)


plot(x,y)
plot(x,y, True, False)
plot(x,y, False, True)
plot(x,y, True, True)

plt.show()