Jest całkiem łatwo zrobić 3d trzpień z poleceniem stem3, jak udokumentowano w http://www.mathworks.com/help/techdoc/ref/stem3.html Zastanawiam się, czy istnieje podobne polecenie w matplotlib? Sprawdziłem dokument online dla najnowszej wersji, ale nie mogłem go znaleźć. Czy ktoś może podać jakieś sugestie?Czy istnieje odpowiednik matplotlib z Matlab "stem3"?
8
A
Odpowiedz
11
Nie jestem świadomy żadnego bezpośredniego odpowiednika stem3
w matplotlib. Jednakże, nie jest trudno jest wyciągnąć takie postacie (przynajmniej w swojej formie podstawowej) za pomocą Line3D s:
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.art3d as art3d
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
N = 100
theta = np.linspace(0, 2*np.pi, N, endpoint=False)
x = np.cos(theta)
y = np.sin(theta)
z = range(N)
for xi, yi, zi in zip(x, y, z):
line=art3d.Line3D(*zip((xi, yi, 0), (xi, yi, zi)), marker='o', markevery=(1, 1))
ax.add_line(line)
ax.set_xlim3d(-1, 1)
ax.set_ylim3d(-1, 1)
ax.set_zlim3d(0, N)
plt.show()
3
jako unutbu, zaledwie z konwencjonalnym działki:
In [20]: from mpl_toolkits.mplot3d import Axes3D
In [21]: fig = figure()
In [22]: ax = fig.add_subplot(111, projection='3d')
In [23]: x = [2,4,1,3]
In [24]: y = [3,5,6,7]
In [25]: z = [4,5,6,7]
In [26]: for xx,yy,zz in zip(x,y,z): plot([xx,xx],[yy,yy],[0,zz], '-')
Powiązane problemy
- 1. Odpowiednik obrazów matlab w matplotlib?
- 2. Czy istnieje odpowiednik funkcji bsxfun MATLAB w python?
- 3. Czy istnieje odpowiednik konw. MATLAB w języku Python?
- 4. Czy istnieje odpowiednik javascript()?
- 5. Czy istnieje odpowiednik funkcji fpinfo() z ColdFusion()
- 6. R odpowiednik funkcji filtrującej MATLAB
- 7. MATLAB ksdensity odpowiednik w Pythonie
- 8. MATLAB odpowiednik ind2sub w Pythonie
- 9. Nancy: czy istnieje odpowiednik Server.MapPath ("~ /")?
- 10. Czy istnieje nieglobalny odpowiednik perlbrew?
- 11. Czy istnieje binarny odpowiednik System.Text.StringBuilder?
- 12. Czy dla ReportLab istnieje płynny matplotlib?
- 13. Czy istnieje odpowiednik dla języka erlang?
- 14. Czy istnieje odpowiednik scala do Pythona listowego
- 15. Czy istnieje odpowiednik Javy dla LINQ?
- 16. Czy w języku Java istnieje odpowiednik epollu?
- 17. Czy istnieje odpowiednik numpy.delete() dla macierzy rzadkich?
- 18. Czy istnieje odpowiednik GWT-RPC Flex?
- 19. Czy istnieje odpowiednik Java funkcji http_build_query PHP?
- 20. Czy istnieje odpowiednik S4 dla opcji unlist()?
- 21. Czy istnieje odpowiednik "... || die" w grze powershell?
- 22. Czy istnieje odpowiednik dla komputerów Mac?
- 23. Czy istnieje odpowiednik sp_getapplock, sp_releaseapplock w Oracle
- 24. Czy istnieje odpowiednik Perl OO dla interfejsu?
- 25. Czy istnieje odpowiednik std :: ustawiony w C#?
- 26. Czy istnieje odpowiednik XDomainRequest w Firefoksie?
- 27. Czy istnieje odpowiednik pagepeed dla Nginx?
- 28. Czy istnieje odpowiednik ClientScriptManager.RegisterClientScriptInclude dla CSS
- 29. Czy istnieje odpowiednik usług IIS dla Tomcat?
- 30. Czy istnieje odpowiednik dplyr dla data.table :: rleid?
+1. Wygląda to jeszcze ładniej niż przykład na stronie Matlaba. Czy to możliwe, żeby mieć małe kulki na liniach? – EOL
Dzięki za dostarczenie impulsu do realizacji tego. Na początku myślałem, że będę musiał nałożyć wykres rozproszenia, ale wygląda na to ustawienie [marker] (http://matplotlib.sourceforge.net/api/artist_api.html#matplotlib.lines.Line2D.set_marker) i użycie [ set_markevery (2)] (http://matplotlib.sourceforge.net/api/artist_api.html#matplotlib.lines.Line2D.set_markevery) może również działać. – unutbu
Doskonała odpowiedź. +1 – ptomato