Limits of 3D Graphs with Python/Matplotlib
I have a problem when setting axis limits of 3D graphs.
I'm using pandas to read my database files, that are just numbers (float64 format) of atmosferic discharges and wind speed.
But when setting a limit, like 1200 thunders and 80 km/h wind speed, my plot just exceeds the desired surface.
It happens with "ax.set_xlim3d","ax.set_xlim" and "plt.xlim".
My code is as below:
fig = plt.figure()
ax = fig.gca(projection='3d')
y = dados['Rajada']
x = dados['Raios']
z = ((1/3080)*(np.exp(2.2507716+(0.0011096*x)+(0.0274958*y))))
ax.set_xlabel('Número de Raios',fontsize=15)
ax.set_ylabel('Rajada Máxima em Km/H',fontsize=15)
ax.set_zlabel('Taxa de Falha por Quilômetro',fontsize=15)
plt.xlim(0,1200)
plt.ylim(0,80)
surf = ax.plot_trisurf(x, y, z, cmap='coolwarm',hatch='/-', edgecolor='none')
Image of how the graph was plotted
python matplotlib jupyter-notebook
add a comment |
I have a problem when setting axis limits of 3D graphs.
I'm using pandas to read my database files, that are just numbers (float64 format) of atmosferic discharges and wind speed.
But when setting a limit, like 1200 thunders and 80 km/h wind speed, my plot just exceeds the desired surface.
It happens with "ax.set_xlim3d","ax.set_xlim" and "plt.xlim".
My code is as below:
fig = plt.figure()
ax = fig.gca(projection='3d')
y = dados['Rajada']
x = dados['Raios']
z = ((1/3080)*(np.exp(2.2507716+(0.0011096*x)+(0.0274958*y))))
ax.set_xlabel('Número de Raios',fontsize=15)
ax.set_ylabel('Rajada Máxima em Km/H',fontsize=15)
ax.set_zlabel('Taxa de Falha por Quilômetro',fontsize=15)
plt.xlim(0,1200)
plt.ylim(0,80)
surf = ax.plot_trisurf(x, y, z, cmap='coolwarm',hatch='/-', edgecolor='none')
Image of how the graph was plotted
python matplotlib jupyter-notebook
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46
add a comment |
I have a problem when setting axis limits of 3D graphs.
I'm using pandas to read my database files, that are just numbers (float64 format) of atmosferic discharges and wind speed.
But when setting a limit, like 1200 thunders and 80 km/h wind speed, my plot just exceeds the desired surface.
It happens with "ax.set_xlim3d","ax.set_xlim" and "plt.xlim".
My code is as below:
fig = plt.figure()
ax = fig.gca(projection='3d')
y = dados['Rajada']
x = dados['Raios']
z = ((1/3080)*(np.exp(2.2507716+(0.0011096*x)+(0.0274958*y))))
ax.set_xlabel('Número de Raios',fontsize=15)
ax.set_ylabel('Rajada Máxima em Km/H',fontsize=15)
ax.set_zlabel('Taxa de Falha por Quilômetro',fontsize=15)
plt.xlim(0,1200)
plt.ylim(0,80)
surf = ax.plot_trisurf(x, y, z, cmap='coolwarm',hatch='/-', edgecolor='none')
Image of how the graph was plotted
python matplotlib jupyter-notebook
I have a problem when setting axis limits of 3D graphs.
I'm using pandas to read my database files, that are just numbers (float64 format) of atmosferic discharges and wind speed.
But when setting a limit, like 1200 thunders and 80 km/h wind speed, my plot just exceeds the desired surface.
It happens with "ax.set_xlim3d","ax.set_xlim" and "plt.xlim".
My code is as below:
fig = plt.figure()
ax = fig.gca(projection='3d')
y = dados['Rajada']
x = dados['Raios']
z = ((1/3080)*(np.exp(2.2507716+(0.0011096*x)+(0.0274958*y))))
ax.set_xlabel('Número de Raios',fontsize=15)
ax.set_ylabel('Rajada Máxima em Km/H',fontsize=15)
ax.set_zlabel('Taxa de Falha por Quilômetro',fontsize=15)
plt.xlim(0,1200)
plt.ylim(0,80)
surf = ax.plot_trisurf(x, y, z, cmap='coolwarm',hatch='/-', edgecolor='none')
Image of how the graph was plotted
python matplotlib jupyter-notebook
python matplotlib jupyter-notebook
asked Nov 12 at 18:41
Matheus Fogliatto
12
12
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46
add a comment |
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46
add a comment |
active
oldest
votes
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%2f53268226%2flimits-of-3d-graphs-with-python-matplotlib%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53268226%2flimits-of-3d-graphs-with-python-matplotlib%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
I think 3D is still relatively experimental in matplotlib so maybe you just have to cut your data to fit
– user8408080
Nov 12 at 19:43
Unlike in 2D, matplotlib does not clip the data by the limits in 3D plots. If you do not want to show any data that is larger than a certain number you need to make sure to not plot this data to start with.
– ImportanceOfBeingErnest
Nov 14 at 12:46