TOC notebooku

Vykreslení množiny grafů

Vykreslování molekul

Nastavení Options předem

Export obrázku s průhledností

Získání souřadnic z grafu myší

Přichycování locatoru

Otočení os grafu

Kreslení vektorových polí

Zafixování viewpointu na 3D graf

Získání dat z vloženého obrázku

TOCForNotebook[]

TOC notebooku

Clear[TOCForNotebook];
TOCForNotebook[]:=Module[{nbr,data,cells,nb},nb=EvaluationNotebook[];
SetOptions[nb,System`CreateCellID->True];
SelectionMove[nb,All,Notebook,AutoScroll->False];
NotebookWrite[nb,NotebookRead[nb]];
NotebookFind[nb,"Section",All,CellStyle];
nbr=NotebookRead[nb];
data=nbr/.{Cell[x_,"Section",___,z:(CellID->w_),___]:>{x,w}};
cells=TextCell[Button[TextCell[#[[1]],"Hyperlink"],NotebookFind[EvaluationNotebook[],#[[2]],All,CellID],Appearance->"Frameless"],"Text"]&/@data;
cells=First[ToBoxes[#]]&/@cells;
SelectionMove[EvaluationNotebook[],Before,Notebook,AutoScroll->True];
NotebookWrite[nb,cells];]

Vykreslení množiny grafů

Plot[Evaluate[Table[Sin[a x],{a,1,5}]],{x,0,Pi},PlotStyle->{Hue[0.2],Hue[0.4],Hue[0.6],Hue[0.8],Hue[1]}]

Vykreslování molekul

ElementPlot3D[atom_,{x_: 0,y_: 0}]:=Module[{radius},radius=ElementData[atom,"AtomicRadius"];
{ElementData[atom,"IconColor"],Sphere[{x,y,0},.4 radius],Black,Style[Text[ElementData[atom,"Abbreviation"],{x,y,.4 radius}],FontSize->12]}]

ElementPlot3D[atom_,{x_: 0,y_: 0,z_: 0}]:=Module[{radius},radius=ElementData[atom,"AtomicRadius"];
{Darker@ElementData[atom,"IconColor"],Sphere[{x,y,z},.5 radius]}]

MoleculePlot3D[chem_,opts:OptionsPattern[{ImageSize->200,Frame->True}]]:=Module[{atomCoordinates,atomTypes,atomColors,atomGraphics,edgeRules,edgeGraphics},atomCoordinates=ChemicalData[chem,"AtomPositions"]/._Missing->ChemicalData[chem,"VertexCoordinates"];
atomTypes=ChemicalData[chem,"VertexTypes"];
edgeRules=ChemicalData[chem,"EdgeRules"];
edgeGraphics=Table[Tube[{If[Length@First@atomCoordinates>2,atomCoordinates[[edgeRules[[i,1]]]],Append[atomCoordinates[[edgeRules[[i,1]]]],0]],If[Length@First@atomCoordinates>2,atomCoordinates[[edgeRules[[i,2]]]],Append[atomCoordinates[[edgeRules[[i,2]]]],0]]},4,VertexColors->Evaluate[ElementData[#,"IconColor"]&/@atomTypes[[{edgeRules[[i,1]],edgeRules[[i,2]]}]]]],{i,Length@edgeRules}];
atomGraphics=Table[ElementPlot3D[atomTypes[[i]],atomCoordinates[[i]]],{i,Length@atomCoordinates}];
Graphics3D[{Thick,edgeGraphics,atomGraphics},Boxed->False,ViewPoint->Top,Background->GrayLevel@.9,ImagePadding->20,ImageSize->{400,280},Lighting->"Neutral"]]

GraphicsRow[{MoleculePlot3D@"Aspirin",ChemicalData["Aspirin","MoleculePlot"]},ImageSize->500]

Nastavení Options předem

Options[DiscretePlot,{Filling,Joined}]
 
SetOptions[DiscretePlot,Filling->None,Joined->False];
Options[DiscretePlot,{Filling,Joined}]

Export obrázku s průhledností

g=Plot[Sin[x],{x,0,2 Pi}]
(* Uloží se do složky Dokumenty\Mathematica\ *)
Export["Mathematica/mathematica.png",g,Background->None]

Získání souřadnic z grafu myší

Je - li potřeba u myši v obyčejném grafu ukázat okénko se souřadnicemi, stačí kliknout do grafu a stisknout ".", zpět do normálního režimu se jde pomocí "o" a celá paletka pro práci s grafy se vyvolá pomocí Ctrl-D.

ClickPane[Plot[Cos[x],{x,-π,π},Frame->True,FrameLabel->{α,"cos α"}],(pt=#)&]
Dynamic[pt]

Přichycování locatoru

Manipulate[p=Round[p,.2];
Column@{Graphics[{},Axes->True],p},{{p,{0,0}},Locator}]

Otočení os grafu

ParametricPlot[{Sin[x],x},{x,0,4 Pi},AspectRatio->1/GoldenRatio]
ParametricPlot[{Tan[x],x},{x,0,2 Pi},AspectRatio->1/GoldenRatio,Exclusions->{Pi/2,3 Pi/2}]

Kreslení vektorových polí

(* Direction field *)
dir[x_,y_]:=Normalize[{1,2 x-y}];
VectorPlot[dir[x,y],{x,-3,3},{y,-3,3}]
(* Velocity field *)
vel[x_,y_]:={1,2 x-y};
VectorPlot[vel[x,y],{x,-3,3},{y,-3,3}]
(* Stream plot *)
StreamPlot[vel[x,y],{x,-3,3},{y,-3,3}]

Zafixování viewpointu na 3D graf

Plot3D[(x-3) (y-2),{x,0,5},{y,0,5},ImageSize->300]

Před výsledný graf doplnit :  AbsoluteOptions[
   a za něj doplnit : , ViewPoint]
Natočit graf do potřebného směru a výsledek okopírovat jako option do vztahu generujícího graf.
Nebo dát graf jako argument následující funkci:

ExtrahiereViews[pl_]:=Flatten[Union[(Extract[pl,Position[pl,#]]&)/@{ViewPoint->_,ViewCenter->_,ViewVertical->_,ViewAngle->_,ViewVector->_,ViewRange->_}]]

Získání dat z vloženého obrázku

photo=Flatten[Level[[[1]],1],1]