[Matplotlib-users] Problem doing multiple independent plots

Adrien VINCENT vincent.adrien at gmail.com
Wed Sep 27 10:42:12 EDT 2017


Hi William,

Did you see the tutorials and the external ressources pages on the Matplotlib website?
http://matplotlib.org/devdocs/tutorials/index.html
http://matplotlib.org/devdocs/resources/index.html

I am giving you the "testing" (devdocs) version because the documentation went through a lot of improvements (IMO ;)) for our incoming 2.1 version. But you should be able to find similar pages even on the non-devdocs web site if you prefer to use this one.

Besides, with an interactive shell like IPython, you can easily get the documentation associated with a peculiar command by postpending a question mark to it (`command_i_want_to_better_know?`) and if you are using an IDE like Spyder, this kind of software usually provides a way to display the same information (click on the command and then Ctrl-I if I remember correctly in the case of Spyder).

Hopefully this will help you.

Regards,
Adrien

On September 27, 2017 5:37:06 AM PDT, William Ray Wing <wrw at mac.com> wrote:
>
>> On Sep 26, 2017, at 6:20 PM, Ryan May <rmay31 at gmail.com> wrote:
>> 
>> William,
>> 
>> Don't use plt to call all of the methods, but directly use them off
>of the Figure (e.g. fig1) and Axes (e.g. ax1) instances you create:
>> 
>
>Thanks, that did it.  Very grateful.
>
>Parenthetically, I wish there were a matplotlib book that explained the
>underlying logic of mil plotting.  Every one I’ve looked into so far is
>full of specific cookbook examples, but they don’t explain what the
>various calls really do, what order they need to be called in (and
>why), and how they affect each other.  Cookbooks are fine for doing
>things by rote, but they don’t provide understanding. If anyone on this
>list knows of such a book, I’d really appreciate hearing.
>
>Thanks,
>Bill
>
>> import numpy as np, matplotlib.pyplot as plt
>> 
>> def problem(xdata, ydata, i):
>>     color_dic = {1: "red", 2: "green", 3: "blue", 4: "cyan"}
>>     fig1, ax1 = plt.subplots()
>>     ax1.plot(xdata, ydata, linestyle = '-', color = color_dic[i])
>>     fig1.savefig('Plot for run_num ' + str(i))
>>     return
>> 
>> def problem_alt(xdata, ydata, i):
>>     return
>> 
>> t = np.arange(0.0, 2.0, 0.01)
>> fig2, ax2 = plt.subplots()
>> 
>> for i in range(0,4):
>>     i = i+1
>>     problem(t, np.sin(i*np.pi*3*t), i)
>>     problem_alt(t, np.sin(i*np.pi*3*t), i)
>>     ax2.set_xlim(xmin = 0.0, xmax = 20.0)
>>     ax2.plot((t+i*3), np.sin(i*np.pi*3*(t+i*3)))
>> 
>> fig2.savefig("Global Plot")
>> 
>> At least, I think that's what you're going for. Note I removed some
>extra calls to figure() and subplot() that I don't think were helping
>you.
>> 
>> Ryan
>> 
>> On Tue, Sep 26, 2017 at 3:04 PM, William Ray Wing <wrw at mac.com
><mailto:wrw at mac.com>> wrote:
>> Below is a simplified version of a much more elaborate analysis code,
>but it will illustrate the problem I’m having.  What I want to do is
>repetitively call an analysis function from my main code and plot the
>results of that analysis (a curve fit, although thats immaterial here)
>while in that function.  Back in the main code, I want to plot the
>results of all the curve fits on a single plot.  They share a common x
>axis, but appear at different points along it.  What seems to be
>happening is that the gets set in the function, and doesn’t get set
>back in the main code.
>> 
>> Note that there are two versions of the “problem” function, problem
>and problem_alt.  If you change the main code (move the #), you get the
>plot I want at the end of the main.
>> 
>> There must be something I can call or set to recover the settings
>associated with figure(2), but I can’t seem to figure it out.  Any help
>would be appreciated.
>> 
>> Thanks,
>> Bill Wing
>> 
>> #! /usr/bin/env python
>> # -*- coding: utf-8 -*-
>> #
>> #   A simple skeleton of the program to work out the plotting problem
>> #
>> import numpy as np, matplotlib.pyplot as plt
>> #
>> # skeleton subroutines
>> #
>> 
>> def problem(xdata, ydata, i):
>>     color_dic = {1: "red", 2: "green", 3: "blue", 4: "cyan"}
>>     plt.figure(1)
>>     fig1, ax1 = plt.subplots()
>>     plt.subplot()
>>     plt.plot(xdata, ydata, linestyle = '-', color = color_dic[i])
>>     plt.savefig('Plot for run_num ' + str(i))
>>     return
>> 
>> def problem_alt(xdata, ydata, i):
>>     return
>> 
>> 
>> t = np.arange(0.0, 2.0, 0.01)
>> plt.figure(2)
>> fig2, ax2 = plt.subplots()
>> 
>> for i in range(0,4):
>>     i = i+1
>>     problem(t, np.sin(i*np.pi*3*t), i)
>>     problem_alt(t, np.sin(i*np.pi*3*t), i)
>>     ax2.set_xlim(xmin = 0.0, xmax = 20.0)
>>     plt.subplot()
>>     plt.plot((t+i*3), np.sin(i*np.pi*3*(t+i*3)))
>> 
>> plt.savefig("Global Plot")
>> 
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users at python.org <mailto:Matplotlib-users at python.org>
>> https://mail.python.org/mailman/listinfo/matplotlib-users
><https://mail.python.org/mailman/listinfo/matplotlib-users>
>> 
>> 
>> 
>> -- 
>> Ryan May
>> 

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.


More information about the Matplotlib-users mailing list