Storing outputs of a function based on an interactive argument value
What I'm trying to do is the following. I have some function f(m) that I want to explore interactively for different values of m (for example using ipywidgets). For specific values of m, I'd like to store some string containing for example m in a list. However, I don't know beforehand which values those will be; I want to plot f(m), and if I like the result, either choose something like True or False, or select Reject or Approve from a dropdown list, and only then have the value be stored. Clicking A or R on the keyboard would also be fine. Is this something I can do? The best I could come up with was using something like ipywidgets:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
ID = str(m)
plt.plot(x, m * x)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
In this case, ID
is the object I would like to store. I could add an extra argument evaluation
which is either Accept
or Reject
or something like that, and add an if statement to the function that appends a list of values, but that seems like a poor choice. Because changing m won't change the value of evaluation, so varying m would just add the ID to the list for every m as long as evaluation
is set to Accept
. So then for every value I'd need to set evaluation
to Accept
or Reject
, and then set it back to some value that doesn't do anything like Undetermined
, which is a lot of clicks. I am sure there would be a better way of doing so; could someone point me in that direction?
python interactive ipywidgets holoviews
add a comment |
What I'm trying to do is the following. I have some function f(m) that I want to explore interactively for different values of m (for example using ipywidgets). For specific values of m, I'd like to store some string containing for example m in a list. However, I don't know beforehand which values those will be; I want to plot f(m), and if I like the result, either choose something like True or False, or select Reject or Approve from a dropdown list, and only then have the value be stored. Clicking A or R on the keyboard would also be fine. Is this something I can do? The best I could come up with was using something like ipywidgets:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
ID = str(m)
plt.plot(x, m * x)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
In this case, ID
is the object I would like to store. I could add an extra argument evaluation
which is either Accept
or Reject
or something like that, and add an if statement to the function that appends a list of values, but that seems like a poor choice. Because changing m won't change the value of evaluation, so varying m would just add the ID to the list for every m as long as evaluation
is set to Accept
. So then for every value I'd need to set evaluation
to Accept
or Reject
, and then set it back to some value that doesn't do anything like Undetermined
, which is a lot of clicks. I am sure there would be a better way of doing so; could someone point me in that direction?
python interactive ipywidgets holoviews
add a comment |
What I'm trying to do is the following. I have some function f(m) that I want to explore interactively for different values of m (for example using ipywidgets). For specific values of m, I'd like to store some string containing for example m in a list. However, I don't know beforehand which values those will be; I want to plot f(m), and if I like the result, either choose something like True or False, or select Reject or Approve from a dropdown list, and only then have the value be stored. Clicking A or R on the keyboard would also be fine. Is this something I can do? The best I could come up with was using something like ipywidgets:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
ID = str(m)
plt.plot(x, m * x)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
In this case, ID
is the object I would like to store. I could add an extra argument evaluation
which is either Accept
or Reject
or something like that, and add an if statement to the function that appends a list of values, but that seems like a poor choice. Because changing m won't change the value of evaluation, so varying m would just add the ID to the list for every m as long as evaluation
is set to Accept
. So then for every value I'd need to set evaluation
to Accept
or Reject
, and then set it back to some value that doesn't do anything like Undetermined
, which is a lot of clicks. I am sure there would be a better way of doing so; could someone point me in that direction?
python interactive ipywidgets holoviews
What I'm trying to do is the following. I have some function f(m) that I want to explore interactively for different values of m (for example using ipywidgets). For specific values of m, I'd like to store some string containing for example m in a list. However, I don't know beforehand which values those will be; I want to plot f(m), and if I like the result, either choose something like True or False, or select Reject or Approve from a dropdown list, and only then have the value be stored. Clicking A or R on the keyboard would also be fine. Is this something I can do? The best I could come up with was using something like ipywidgets:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
ID = str(m)
plt.plot(x, m * x)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
In this case, ID
is the object I would like to store. I could add an extra argument evaluation
which is either Accept
or Reject
or something like that, and add an if statement to the function that appends a list of values, but that seems like a poor choice. Because changing m won't change the value of evaluation, so varying m would just add the ID to the list for every m as long as evaluation
is set to Accept
. So then for every value I'd need to set evaluation
to Accept
or Reject
, and then set it back to some value that doesn't do anything like Undetermined
, which is a lot of clicks. I am sure there would be a better way of doing so; could someone point me in that direction?
python interactive ipywidgets holoviews
python interactive ipywidgets holoviews
asked Nov 19 '18 at 17:36
user129412user129412
4671416
4671416
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
This example is probably overkill for your purposes, but it shows how to use Panel (panel.pyviz.org) to save a set of currently chosen widget values (to a file, in this case): https://anaconda.org/jbednar/datashaderattractors/notebook
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379949%2fstoring-outputs-of-a-function-based-on-an-interactive-argument-value%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This example is probably overkill for your purposes, but it shows how to use Panel (panel.pyviz.org) to save a set of currently chosen widget values (to a file, in this case): https://anaconda.org/jbednar/datashaderattractors/notebook
add a comment |
This example is probably overkill for your purposes, but it shows how to use Panel (panel.pyviz.org) to save a set of currently chosen widget values (to a file, in this case): https://anaconda.org/jbednar/datashaderattractors/notebook
add a comment |
This example is probably overkill for your purposes, but it shows how to use Panel (panel.pyviz.org) to save a set of currently chosen widget values (to a file, in this case): https://anaconda.org/jbednar/datashaderattractors/notebook
This example is probably overkill for your purposes, but it shows how to use Panel (panel.pyviz.org) to save a set of currently chosen widget values (to a file, in this case): https://anaconda.org/jbednar/datashaderattractors/notebook
answered Nov 29 '18 at 6:57
James A. BednarJames A. Bednar
74635
74635
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379949%2fstoring-outputs-of-a-function-based-on-an-interactive-argument-value%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown