Plot MultiAxes tutorial/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "===Rysowanie funkcji, dodawanie nowych osi===. Będziemy rysować funkcje wielomianowe na osiach głównych. Jeśli wszystkie osie będą miały ten sam rozmiar to nie jest is...")
(Updating to match new version of source page)
 
(68 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{TutorialInfo/pl
{{TutorialInfo/pl
|Topic=środowisko pracy wykres
|Topic=środowisko pracy wykres
|Level=średniozaawansowany
|Level=średniozaawansowany
|Time=dowolny
|Time=dowolny
|Author= -
|Author=
|FCVersion= -
|FCVersion= -
|Files=brak
|Files=
}}
}}


Upewnij się, że odwiedziłeś [[Plot_Basic_tutorial/pl|Poradnik: Podstawy dla środowiska pracy Wykres]] przed rozpoczęciem tego poradnika. W tym poradniku nauczymy się jak tworzyć i edytować wykres wieloosiowy. Na stronie środowiska pracy[[Plot_Module/pl|Wykres]] możesz dowiedzieć się więcej o nim.
Upewnij się, że odwiedziłeś [[Plot_Basic_tutorial/pl|Poradnik: Podstawy dla środowiska pracy Wykres]] przed rozpoczęciem tego poradnika. W tym poradniku nauczymy się jak tworzyć i edytować wykres wieloosiowy. Na stronie środowiska pracy[[Plot_Workbench/pl|Wykres]] możesz dowiedzieć się więcej o nim.


[[Image:Plot_MultiAxes_Example.png|600px|center|Przykład wykresu wieloosiowego]]
[[Image:Plot_MultiAxes_Example.png|600px]]
<center><span style="font-variant:small-caps">Przykład wykresu wieloosiowego.</span></center>
{{Caption|Przykład wykresu wieloosiowego}}


Na poprzednim obrazku możesz zobaczyć rezultat, jaki w przybliżeniu uzyskamy. Dzięki temu poradnikowi dowiesz się:
Na poprzednim obrazku możesz zobaczyć rezultat, jaki w przybliżeniu uzyskamy. Dzięki temu poradnikowi dowiesz się:
* Jak stworzyć wieloosiowy wykres z poziomu konsoli Pythona.
* Jak stworzyć wieloosiowy wykres z poziomu konsoli [[Python_console/pl|Pythona]].
* Jak edytować właściwości osi.
* Jak edytować właściwości osi.
* Jak kontrolować siatkę / legendę, gdy obecnych jest kilka osi.
* Jak kontrolować siatkę / legendę, gdy obecnych jest kilka osi.
* Jak edytować etykiety, tytuły i pozycje legendy.
* Jak edytować etykiety, tytuły i pozycje legendy.


<span id="Plotting_data"></span>
==Wykreślanie danych==
==Wykreślanie danych==
Podobnie jak w [[Plot_Basic_tutorial/pl|poprzednim poradniku]] do wykreślania danych użyjemy konsoli Python lub [[Macros|makrodefinicji]], z tą różnicą, że w tym przypadku będziemy wykreślać dane na dwóch różnych osiach.



Podobnie jak w [[Plot_Basic_tutorial/pl|poprzednim poradniku]] do wykreślania danych użyjemy [[Python_console/pl|konsoli Python]] lub [[Macros|makrodefinicji]], z tą różnicą, że w tym przypadku będziemy wykreślać dane na dwóch różnych osiach.

<span id="Creating_plot_data"></span>
===Tworzenie danych wykresu===
===Tworzenie danych wykresu===

W tym przykładzie wykreślimy 3 funkcje, dwie użyte w [[Plot_Basic_tutorial/pl|poprzednim poradniku]], oraz jeszcze jedną wielomianową. Faktem jest, że wielomian będzie potrzebował nowych osi z powodu zakresu zmienności innego niż wszystkie pozostałe. Kolejne polecenia utworzą nam tablice z danymi:
W tym przykładzie wykreślimy 3 funkcje, dwie użyte w [[Plot_Basic_tutorial/pl|poprzednim poradniku]], oraz jeszcze jedną wielomianową. Faktem jest, że wielomian będzie potrzebował nowych osi z powodu zakresu zmienności innego niż wszystkie pozostałe. Kolejne polecenia utworzą nam tablice z danymi:


Line 38: Line 44:
Gdy ''x'' zmienia się od 0 do 2, funkcja ''y'' ma maksymalną wartość 4, więc jeśli spróbujemy wykreślić tę funkcję za pomocą funkcji trygonometrycznych, przynajmniej jedna funkcja będzie obcięta lub źle przeskalowana, więc potrzebujemy wykresu wieloosiowego. Funkcja Multiaxes plot w FreeCAD jest zorientowana na uzyskanie wykresu z wieloma osiami, a nie na uzyskanie wielu wykresów w tym samym dokumencie.
Gdy ''x'' zmienia się od 0 do 2, funkcja ''y'' ma maksymalną wartość 4, więc jeśli spróbujemy wykreślić tę funkcję za pomocą funkcji trygonometrycznych, przynajmniej jedna funkcja będzie obcięta lub źle przeskalowana, więc potrzebujemy wykresu wieloosiowego. Funkcja Multiaxes plot w FreeCAD jest zorientowana na uzyskanie wykresu z wieloma osiami, a nie na uzyskanie wielu wykresów w tym samym dokumencie.


<span id="Drawing_functions,_adding_new_axes"></span>
===Rysowanie funkcji, dodawanie nowych osi===.
===Rysowanie funkcji, dodawanie nowych osi===

Będziemy rysować funkcje wielomianowe na osiach głównych. Jeśli wszystkie osie będą miały ten sam rozmiar to nie jest istotne jaka funkcja jest narysowana w której osi, ale jeśli Twój wykres ma osie o innych rozmiarach ''(jak w tym przykładzie)'' to oś główna musi być największa ''(ponieważ ta oś ma białe tło)''. Aby to zrobić wystarczy uruchomić komendę
Będziemy rysować funkcje wielomianowe na osiach głównych. Jeśli wszystkie osie będą miały ten sam rozmiar to nie jest istotne jaka funkcja jest narysowana w której osi, ale jeśli Twój wykres ma osie o innych rozmiarach ''(jak w tym przykładzie)'' to oś główna musi być największa ''(ponieważ ta oś ma białe tło)''. Aby to zrobić wystarczy uruchomić komendę


{{Code|code=
{{Code|code=
try:
import Plot
from FreeCAD.Plot import Plot
Plot.plot(x,y,r"$x^2$")
except ImportError:
from freecad.plot import Plot

Plot.plot(t,s,r"$\sin\left( 2 \pi t \right)$")
Plot.plot(t,c,r"$\cos\left( 2 \pi t \right)$")
}}
}}


In this example we pass directly the series label for the legend. Note that the label string has the ''r'' prefix in order to avoid Python try to interpret special characters (''\'' symbol is used frecuently in [http://www.latex-project.org LaTeX] syntax).
W tym przykładzie przekazujemy bezpośrednio etykiety serii dla legendy. Zwróć uwagę, że łańcuchy etykiet mają przedrostek ''r'', aby zapobiec próbom interpretacji znaków specjalnych przez środowisko [[Python/pl|Python]] ''(symbol ''r'' jest często używany w składni [http://www.latex-project.org LaTeX])''.


Zanim będziemy mogli wykreślić funkcję wielomianową, musimy utworzyć nowe osie. W środowisku pracy [[Plot_Workbench/pl|Wykres]] nowe osie są automatycznie wybierane jako aktywne, a nowe wykresy będą powiązane z tymi osiami.
Now we can plot trigonometrical functions, creating new axes before. In [[Plot_Module|FreeCAD Plot module]] when you create new axes this axes are selected as active ones, so new plots will be associated to this axes.


{{Code|code=
{{Code|code=
Plot.addNewAxes()
Plot.addNewAxes()
Plot.plot(t,s,r"$\sin\left( 2 \pi t \right)$")
Plot.plot(x,y,r"$x^2$")
Plot.plot(t,c,r"$\cos\left( 2 \pi t \right)$")
}}
}}


Jak widzisz, wykres oszalał, znaczniki osi nałożyły się na siebie, krzywe mają ten sam kolor itd. Teraz musimy użyć środowiska pracy [[Plot_Workbench/pl|Wykres]], aby naprawić ten wykres.
As you can see you plot has gone crazy, with axes ticks overlaped, curves of same color, etc. Now we needs to use [[Plot_Module|FreeCAD Plot module]] to fix this graph.


<span id="Configuring_plot"></span>
==Konfiguracja wykresu==
==Konfiguracja wykresu==


<span id="Configuring_axes"></span>
===Konfigurowanie osi===
===Konfigurowanie osi===
Moduł [[Plot_Module/pl|Wykres FreeCAD]] dostarcza narzędzia do modyfikacji właściwości każdej z osi.


Środowisko pracy [[Plot_Workbench/pl|Wykres]] dostarcza narzędzia do modyfikacji właściwości każdej z osi.
[[Image:Plot_Axes.svg‎|center|Ikonka narzędzia konfiguracji osi]]
<center><span style="font-variant:small-caps">Ikonka narzędzia konfiguracji osi.</span></center>


[[Image:Plot_Axes.svg‎]]
Pierwszą rzeczą, którą można znaleźć w narzędziu osi jest selektor aktywnych osi. Ponieważ osie aktywne są ostatnimi, aktywne osie są umieszczone na pierwszej pozycji. Narzędzie Osie, podobnie jak narzędzie Etykiety, pozwala ustawić aktywne osie, umożliwiając wykreślanie większej ilości danych na osiach, których potrzebujemy ''(w tym dodawanie / usuwanie osi)''. Na razie będziemy pracować nad wybranymi osiami, które są związane z funkcjami trygonometrycznymi.
{{Caption|Ikonka narzędzia konfiguracji osi}}


Za pomocą narzędzia [[Plot_Axes/pl|Konfiguruj osie]] możesz dodawać i usuwać osie oraz ustawiać aktywne osie, które są następnie używane, gdy wykreślasz więcej danych.
W suwakach wymiarów przesuniemy suwaki lewy poziomy i dolny pionowy ''(starając się naśladować przykład)'', aby zmniejszyć rozmiar osi. Następnie możemy ustawić wyrównanie osi, zmieniając je na górne i prawe, oraz ustawiając niewielkie przesunięcie o dwie jednostki.


Aby zmienić rozmiar pierwszego zestawu osi, związanego z funkcjami trygonometrycznymi, należy go najpierw uaktywnić, zmieniając aktywną oś z {{Value|1}} na {{Value|0}}. Następnie możemy przesuwać suwaki wymiarów poziomych i pionowych, aby zmniejszyć jego rozmiar ''(spróbuj odtworzyć przykład)''. Musimy również zmienić wyrównanie osi: wybieramy odpowiednio górę i prawo.

<span id="Configuring_series"></span>
===Konfiguracja serii===
===Konfiguracja serii===

Ustaw właściwości serii tak jak to robiliśmy w [[Plot_Basic_tutorial/pl|poprzednim poradniku]].
Ustaw właściwości serii tak jak to robiliśmy w [[Plot_Basic_tutorial/pl|poprzednim poradniku]].


<span id="Showing_grid_and_legend"></span>
===Wyświetlenie siatki i legendy===
===Wyświetlenie siatki i legendy===
Siatka i legenda jest pokazywana i ukrywana za pomocą tych samych narzędzi, które były używane w [[Plot_Basic_tutorial/pl|poprzednim poradniku]], ale w tym przypadku zachowanie jest trochę inne z powodu obecności dwóch różnych osi.


[[Plot_Grid/pl|Siatka]] oraz [[Plot_Legend/pl|legenda]] może być pokazywana i ukrywana za pomocą narzędzi opisanych w [[Plot_Basic_tutorial/pl|poprzednim poradniku]], ale w tym przypadku zachowanie jest nieco inne, ponieważ istnieją dwa zestawy osi.
Regarding grid lines, you can show lines for each axes set, for example, if you try to show grid now you will show only the grid of the trigonometrical functions, so in order to show the grid of polynomial function plot you needs to change active axes to 0 (using axes configuration tool) before using grid tool another time (Is possible that you need to press two times the tool).


Linie siatki są dodawane do aktywnego zestawu osi. Aby dodać linie do drugiego zestawu osi w naszym przykładzie, musi on być najpierw aktywowany poprzez zmianę aktywnych osi z {{Value|0}} na {{Value|1}} w [[Plot_Axes/pl|Konfiguruj osie]].
Regarding legend, the legend will be the same for both axes, so you can choose the axes that you want in order to show the legend, but is strongly recommended to use the biggest ones (0 in this example) because position will be refered to this axes coordinates. If you show the legend you can see that is really bad placed, we will fix this problem later.


Jak już wspomnieliśmy, legenda zostanie umieszczona względem ostatniej ustawionej osi. Jeśli pokażesz teraz legendę, zobaczysz, że jest ona naprawdę źle umieszczona, ale naprawimy to później.
===Setting axes labels===
You can set axes labels with same tool used in [[Plot_Basic_tutorial|previous tutorial]], with the difference that now you have more axes. Since axes labels is ussually set as one per axis, is not a significant difference, but [[Plot_Module|FreeCAD Plot module]] allow you to set a title by axes too. In this case we only wants to set title to main axes, so set:


<span id="Setting_axes_labels"></span>
'''Axes 0:'''
===Ustawianie etykiet osi===
* Title = Multiaxes example

* X Label = $x$
Kiedy przychodzi do ustawiania [[Plot_Labels/pl|etykiet]] dla osi, znów mamy do czynienia z naszymi dwoma zestawami osi. Ale ponieważ etykiety są zazwyczaj ustawiane dla wszystkich osi, procedura jest taka sama jak opisana w [[Plot_Basic_tutorial/pl|poprzednim poradniku]]. Moduł [[Plot_Workbench/pl|Wykres]] pozwala na ustawienie tytułu dla każdego zestawu osi. W tym przypadku chcemy ustawić tytuł tylko dla ostatniego, największego zestawu osi.
* Y Label = $\mathrm{f} \left( x \right)$

'''Axes 1:'''
''' 0:'''
* X Label = $t$
* X Label = $t$
* Y Label = $\mathrm{f} \left( t \right)$
* Y Label = $\mathrm{f} \left( t \right)$
'''Axes 1:'''
* Title = Przykład, wykres wieloosiowy
* X Label = $x$
* Y Label = $\mathrm{f} \left( x \right)$


Zmień rozmiar czcionki wszystkich etykiet na {{Value|20}} oraz rozmiar czcionki tytułu do {{Value|24}}. Znów pojawia się element, tytuł, który jest źle umiejscowiony.
Set also 20 to fontsize for all but title, that uses a fontsize of 24. As happens with legend, title is bad placed, interseting with second axes set, so we need to solve both problems.


<span id="Setting_elements_position"></span>
===Setting elements position===
==Ustawianie pozycji elementów===
[[Plot_Module|FreeCAD Plot module]] provides a tool in order to set the position of several plot elements, as titles, labels or legend.


Środowisko pracy [[Plot_Workbench/pl|Wykres]] udostępnia narzędzie do ustawiania pozycji kilku elementów wykresu, takich jak tytuły, etykiety czy legenda.
[[Image:Plot_Positions.svg‎|center|Position editor icon]]
<center><span style="font-variant:small-caps">Position editor icon.</span></center>


[[Image:Plot_Positions.svg]]
When you run the tool you see a list with all the editable elements. Title elements, as well as legend, can be moved in both directions, since axes labels can be moved only on the axes direction. Select title of axes 0 and move it to (0.24,1.01), then select legend and move it to a better position. You can increase legend labels fontsize too.
{{Caption|Ikona edytora pozycji}}


Gdy uruchomisz narzędzie, zobaczysz listę wszystkich edytowalnych elementów. Tytuły i legendy mogą być przesuwane w obu kierunkach, ale etykiety osi mogą być przesuwane tylko wzdłuż osi, do której należą. Wybierz tytuł osi 1 i przesuń go na pozycję (0.24,1.01), następnie wybierz legendę i przesuń ją na lepszą pozycję. Możesz również zwiększyć rozmiar czcionki etykiet legendy.

<span id="Saving_plot"></span>
==Zapisanie wykresu==
==Zapisanie wykresu==


Teraz możesz zapisać swoją pracę. Zobacz [[Plot_Basic_tutorial/pl|poprzedni poradnik]] jeśli nie pamiętasz jak to zrobić.
Teraz możesz zapisać swoją pracę. Zobacz [[Plot_Basic_tutorial/pl|poprzedni poradnik]] jeśli nie pamiętasz jak to zrobić.

{{Tutorials navi{{#translation:}}}}

{{Plot Tools navi{{#translation:}}}}
{{Plot_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:External_Workbenches{{#translation:}}]]
[[Category:Addons{{#translation:}}]]

Latest revision as of 12:59, 14 April 2023

Ćwiczenie
Temat
środowisko pracy wykres
Poziom trudności
średniozaawansowany
Czas wykonania
dowolny
Autorzy
Wersja FreeCAD
-
Pliki z przykładami
Zobacz również
-

Upewnij się, że odwiedziłeś Poradnik: Podstawy dla środowiska pracy Wykres przed rozpoczęciem tego poradnika. W tym poradniku nauczymy się jak tworzyć i edytować wykres wieloosiowy. Na stronie środowiska pracyWykres możesz dowiedzieć się więcej o nim.

Przykład wykresu wieloosiowego

Na poprzednim obrazku możesz zobaczyć rezultat, jaki w przybliżeniu uzyskamy. Dzięki temu poradnikowi dowiesz się:

  • Jak stworzyć wieloosiowy wykres z poziomu konsoli Pythona.
  • Jak edytować właściwości osi.
  • Jak kontrolować siatkę / legendę, gdy obecnych jest kilka osi.
  • Jak edytować etykiety, tytuły i pozycje legendy.

Wykreślanie danych

Podobnie jak w poprzednim poradniku do wykreślania danych użyjemy konsoli Python lub makrodefinicji, z tą różnicą, że w tym przypadku będziemy wykreślać dane na dwóch różnych osiach.

Tworzenie danych wykresu

W tym przykładzie wykreślimy 3 funkcje, dwie użyte w poprzednim poradniku, oraz jeszcze jedną wielomianową. Faktem jest, że wielomian będzie potrzebował nowych osi z powodu zakresu zmienności innego niż wszystkie pozostałe. Kolejne polecenia utworzą nam tablice z danymi:

import math
p = range(0,1001)
x = [2.0*xx/1000.0 for xx in p]
y = [xx**2.0 for xx in x]
t = [tt/1000.0 for tt in p]
s = [math.sin(math.pi*2.0*tt) for tt in t]
c = [math.cos(math.pi*2.0*tt) for tt in t]

Gdy x zmienia się od 0 do 2, funkcja y ma maksymalną wartość 4, więc jeśli spróbujemy wykreślić tę funkcję za pomocą funkcji trygonometrycznych, przynajmniej jedna funkcja będzie obcięta lub źle przeskalowana, więc potrzebujemy wykresu wieloosiowego. Funkcja Multiaxes plot w FreeCAD jest zorientowana na uzyskanie wykresu z wieloma osiami, a nie na uzyskanie wielu wykresów w tym samym dokumencie.

Rysowanie funkcji, dodawanie nowych osi

Będziemy rysować funkcje wielomianowe na osiach głównych. Jeśli wszystkie osie będą miały ten sam rozmiar to nie jest istotne jaka funkcja jest narysowana w której osi, ale jeśli Twój wykres ma osie o innych rozmiarach (jak w tym przykładzie) to oś główna musi być największa (ponieważ ta oś ma białe tło). Aby to zrobić wystarczy uruchomić komendę

try:
    from FreeCAD.Plot import Plot
except ImportError:
    from freecad.plot import Plot

Plot.plot(t,s,r"$\sin\left( 2 \pi t \right)$")
Plot.plot(t,c,r"$\cos\left( 2 \pi t \right)$")

W tym przykładzie przekazujemy bezpośrednio etykiety serii dla legendy. Zwróć uwagę, że łańcuchy etykiet mają przedrostek r, aby zapobiec próbom interpretacji znaków specjalnych przez środowisko Python (symbol r jest często używany w składni LaTeX).

Zanim będziemy mogli wykreślić funkcję wielomianową, musimy utworzyć nowe osie. W środowisku pracy Wykres nowe osie są automatycznie wybierane jako aktywne, a nowe wykresy będą powiązane z tymi osiami.

Plot.addNewAxes()
Plot.plot(x,y,r"$x^2$")

Jak widzisz, wykres oszalał, znaczniki osi nałożyły się na siebie, krzywe mają ten sam kolor itd. Teraz musimy użyć środowiska pracy Wykres, aby naprawić ten wykres.

Konfiguracja wykresu

Konfigurowanie osi

Środowisko pracy Wykres dostarcza narzędzia do modyfikacji właściwości każdej z osi.

Ikonka narzędzia konfiguracji osi

Za pomocą narzędzia Konfiguruj osie możesz dodawać i usuwać osie oraz ustawiać aktywne osie, które są następnie używane, gdy wykreślasz więcej danych.

Aby zmienić rozmiar pierwszego zestawu osi, związanego z funkcjami trygonometrycznymi, należy go najpierw uaktywnić, zmieniając aktywną oś z 1 na 0. Następnie możemy przesuwać suwaki wymiarów poziomych i pionowych, aby zmniejszyć jego rozmiar (spróbuj odtworzyć przykład). Musimy również zmienić wyrównanie osi: wybieramy odpowiednio górę i prawo.

Konfiguracja serii

Ustaw właściwości serii tak jak to robiliśmy w poprzednim poradniku.

Wyświetlenie siatki i legendy

Siatka oraz legenda może być pokazywana i ukrywana za pomocą narzędzi opisanych w poprzednim poradniku, ale w tym przypadku zachowanie jest nieco inne, ponieważ istnieją dwa zestawy osi.

Linie siatki są dodawane do aktywnego zestawu osi. Aby dodać linie do drugiego zestawu osi w naszym przykładzie, musi on być najpierw aktywowany poprzez zmianę aktywnych osi z 0 na 1 w Konfiguruj osie.

Jak już wspomnieliśmy, legenda zostanie umieszczona względem ostatniej ustawionej osi. Jeśli pokażesz teraz legendę, zobaczysz, że jest ona naprawdę źle umieszczona, ale naprawimy to później.

Ustawianie etykiet osi

Kiedy przychodzi do ustawiania etykiet dla osi, znów mamy do czynienia z naszymi dwoma zestawami osi. Ale ponieważ etykiety są zazwyczaj ustawiane dla wszystkich osi, procedura jest taka sama jak opisana w poprzednim poradniku. Moduł Wykres pozwala na ustawienie tytułu dla każdego zestawu osi. W tym przypadku chcemy ustawić tytuł tylko dla ostatniego, największego zestawu osi.

Oś 0:

  • X Label = $t$
  • Y Label = $\mathrm{f} \left( t \right)$

Axes 1:

  • Title = Przykład, wykres wieloosiowy
  • X Label = $x$
  • Y Label = $\mathrm{f} \left( x \right)$

Zmień rozmiar czcionki wszystkich etykiet na 20 oraz rozmiar czcionki tytułu do 24. Znów pojawia się element, tytuł, który jest źle umiejscowiony.

Ustawianie pozycji elementów=

Środowisko pracy Wykres udostępnia narzędzie do ustawiania pozycji kilku elementów wykresu, takich jak tytuły, etykiety czy legenda.

Ikona edytora pozycji

Gdy uruchomisz narzędzie, zobaczysz listę wszystkich edytowalnych elementów. Tytuły i legendy mogą być przesuwane w obu kierunkach, ale etykiety osi mogą być przesuwane tylko wzdłuż osi, do której należą. Wybierz tytuł osi 1 i przesuń go na pozycję (0.24,1.01), następnie wybierz legendę i przesuń ją na lepszą pozycję. Możesz również zwiększyć rozmiar czcionki etykiet legendy.

Zapisanie wykresu

Teraz możesz zapisać swoją pracę. Zobacz poprzedni poradnik jeśli nie pamiętasz jak to zrobić.