Difference between revisions of "Type 5"
(→Source code of simple example of type 5) |
(→Block parameters) |
||
Line 296: | Line 296: | ||
| Field42c = for block alignment | | Field42c = for block alignment | ||
+ | | Field43a = 'u_axis_color' | ||
+ | | Field43b = color.rgb.black | ||
+ | | Field43c = Color of u-scale | ||
+ | |||
+ | | Field44a = 'u_text_color' | ||
+ | | Field44b = color.rgb.black | ||
+ | | Field44c = Color of u-scale texts | ||
+ | |||
+ | | Field45a = 'u_title_color' | ||
+ | | Field45b = color.rgb.black | ||
+ | | Field45c = Color of u-scale title | ||
+ | |||
+ | | Field46a = 'v_axis_color' | ||
+ | | Field46b = color.rgb.black | ||
+ | | Field46c = Color of v-scale | ||
+ | |||
+ | | Field47a = 'v_text_color' | ||
+ | | Field47b = color.rgb.black | ||
+ | | Field47c = Color of v-scale texts | ||
+ | |||
+ | | Field48a = 'v_title_color' | ||
+ | | Field48b = color.rgb.black | ||
+ | | Field48c = Color of v-scale title | ||
+ | |||
+ | | Field49a = 'wd_axis_color' | ||
+ | | Field49b = color.rgb.black | ||
+ | | Field49c = Color of wd-scale | ||
+ | |||
+ | | Field50a = 'wd_text_color' | ||
+ | | Field50b = color.rgb.black | ||
+ | | Field50c = Color of wd-scale texts | ||
+ | |||
+ | | Field51a = 'wd_title_color' | ||
+ | | Field51b = color.rgb.black | ||
+ | | Field51c = Color of wd-scale title | ||
}} | }} | ||
==== General main parameters ==== | ==== General main parameters ==== | ||
{{Infobox general params}} | {{Infobox general params}} |
Revision as of 19:55, 7 August 2009
Contents
In general
Type 5 is contour block that has functional relationship:
[math]F_1(u) = F_2(x,v). \,[/math]
This type of block is used commonly in nomographs that have an equation in form
[math]f_a(a_1,a_2,a_3,...) = f_b(u,v) \,[/math]
and [math] f_b(u,v) \,[/math] cannot be represented as line-nomograph. Typically equation above is written as pair of equations:
[math]f_a(a_1,a_2,a_3,...) = x \,[/math]
and
[math] f_b(u,v) = x. \,[/math]
This equation is written in form
[math]F_1(u) = F_2(x,v). \,[/math]
in order to construct this contour block. In reality block consists of horizontal lines:
[math]F_1(u) = y \,[/math]
and contour lines
[math]F_2(x,v) = y, \,[/math]
where x and y are the coordinates of canvas. Coordinate x is reference with name wd in block parameters and it holds
[math]x = f_{wd}(wd). \,[/math]
Simple example
In the following example
[math] F_1(u)=u \, [/math]
and
[math] F_2(wd,v)=wd+v. \, [/math]
Thus the original equation is
[math] wd=u-v. \, [/math]
Simple example: Type 5 | |
---|---|
![]() |
|
Generated portable document file (pdf): | File:Ex type5 nomo 1.pdf |
Source code of simple example of type 5
""" ex_type5_nomo_1.py Simple nomogram of type 5. In this example: wd = u-v Copyright (C) 2007-2008 Leif Roschier This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. """ from pynomo.nomographer import * block_params={ 'block_type':'type_5', 'u_func':lambda u:u, 'v_func':lambda x,v:x+v, 'u_values':[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0], 'v_values':[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0], 'wd_tick_levels':2, 'wd_tick_text_levels':1, 'wd_tick_side':'right', 'wd_title':'wd = u-v', 'u_title':'u', 'v_title':'v', 'wd_title_opposite_tick':True, 'wd_title_distance_center':2.5, } main_params={ 'filename':'ex_type5_nomo_1.pdf', 'paper_height':10.0, 'paper_width':10.0, 'block_params':[block_params], 'transformations':[('rotate',0.01),('scale paper',)] } Nomographer(main_params)
Parameters for type 5
No specific axis parameters. Everything is defined in block.
Block parameters
Specific block parameters for type 5 | ||
---|---|---|
Parameter | Default value | Explanation |
'block_type' | 'type_5' |
This is type 5 block |
'width' | 10.0 |
Block width (to be scaled) |
'height' | 10.0 |
Block height (to be scaled) |
'mirror_x' | False |
If x-axis is mirrored |
'mirror_y' | False |
If y-axis is mirrored |
'u_func' | -- |
u function. For example lambda u:u |
'v_func' | -- |
v function. For example lambda x,v:x+v |
'wd_func' | lambda x:x |
wd function for plotting wd. |
'wd_func_inv' | lambda x:x |
inverse of wd function for plotting wd. |
'u_values' | -- |
List of plotted u values. For example [1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0] |
'u_title' | ||
'scale_type_u' | 'manual_line' |
Scale type. can be
|
'u_tick_side' | -- |
Tick and text side in final paper. Can be:
|
'u_tag' | 'none' |
To align blocks w.r.t each other along axes with same tag |
'u_reference' | False |
If axis is treated as reference line that is a turning point. |
'u_tick_levels' | 0 |
How many levels (minor, minor-minor, etc.) of ticks are drawn. Largest effect to 'linear' scale. |
'u_tick_text_levels' | 0 |
How many levels (minor, minor-minor, etc.) of texts are drawn. Largest effect to 'linear' scale. |
'u_title_opposite_tick' | False |
Title in opposite direction w.r.t ticks |
'u_title_distance_center' | 1.5 |
Distance of centered title from line if centered title |
'u_title_draw_center' | False |
Title is drawn to center of line |
'v_values' | -- |
List of plotted v values. For example [1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0] |
'v_title' |
v axis title. |
|
'v_tick_side' | 'right' |
Tick and text side in final paper. Can be:
|
'v_tag' | 'none' |
To align blocks w.r.t each other along axes with same tag |
'v_reference' | False |
If axis is treated as reference line that is a turning point. |
'v_title_opposite_tick' | False |
Title in opposite direction w.r.t ticks |
'v_title_distance_center' | 1.5 |
Distance of centered title from line if centered title |
'v_title_draw_center' | True |
Title is drawn to center of line |
'wd_title' | -- |
Axis title |
'scale_type_wd' | 'linear' |
Scale type. can be
|
'wd_tick_side' | -- |
Tick and text side in final paper. Can be:
|
'wd_tag' | 'none' |
To align blocks w.r.t each other along axes with same tag |
'wd_reference' | False |
If axis is treated as reference line that is a turning point. |
'wd_tick_levels' | 0 |
How many levels (minor, minor-minor, etc.) of ticks are drawn. Largest effect to 'linear' scale. |
'wd_tick_text_levels' | 0 |
How many levels (minor, minor-minor, etc.) of texts are drawn. Largest effect to 'linear' scale. |
'wd_title_opposite_tick' | False |
Title in opposite direction w.r.t ticks |
'wd_title_distance_center' | 1.5 |
Distance of centered title from line if centered title |
'wd_title_draw_center' | False |
Title is drawn to center of line |
'u_text_format' | r"$%3.2f$ " |
number format |
'v_text_format' | r"$%3.2f$ " |
number format |
'u_align_func' | lambda u:u |
for block alignment |
'wd_align_func' | lambda u:u |
for block alignment |
'u_axis_color' | color.rgb.black |
Color of u-scale |
'u_text_color' | color.rgb.black |
Color of u-scale texts |
'u_title_color' | color.rgb.black |
Color of u-scale title |
'v_axis_color' | color.rgb.black |
Color of v-scale |
'v_text_color' | color.rgb.black |
Color of v-scale texts |
'v_title_color' | color.rgb.black |
Color of v-scale title |
'wd_axis_color' | color.rgb.black |
Color of wd-scale |
'wd_text_color' | color.rgb.black |
Color of wd-scale texts |
'wd_title_color' | color.rgb.black |
Color of wd-scale title |
General main parameters
General main parameters | ||
---|---|---|
Parameter | Default value | Explanation |
'filename' | -- |
filename of generated pdf |
'paper_height' | 10.0 |
Height of paper (roughly, ticks and texts extend this) |
'paper_width' | 10.0 |
Width of paper (roughly, ticks and texts extend this) |
'block_params' | -- |
List of blocks that make the nomograph |
'transformations' | -- |
List of transformations to transform nomograph |
'title_str' | -- |
Title string of nomograph |
'title_x' | -- |
Title x-position |
'title_y' | -- |
Title y-position |
'title_box_width' | -- |
Title box width |
'title_color' | color.rgb.black |
Title color |
'make_grid' | False |
If True, draws grid to help position texts, etc. |
'draw_lines' | False |
If True, draws (brute-force) lines according to 'line_params' |
'line_params' | [] |
OBSOLETE, USE ISOPLETHS. List of dics of (brute-force) lines. For example: [{'coords':[[0,0,1,1],[2,2,3,3]], 'line_style':[color.cmyk.Black, style.linewidth.thick, style.linestyle.dashed], 'circle_size':0.0005, 'circle_color':color.cmyk.Black, }] |
'pre_func' | None |
PyX function(canvas) to draw under nomograph. Function definitin could be: def post(c): c.stroke(path.line(2, 2, 15, 2) + path.line(15, 2, 10, 15) + path.line(15, 15, 2, 15) + path.line(2, 15, 2, 2)) |
'post_func' | None |
PyX function(canvas) to draw over nomograph. Definiton same as for 'pre_func'. |
'debug' | False |
If True, prints dicts of definions. Feature in PyNomo 0.2.1: not all default values are printed. |
'extra_texts' | [] |
List of dicts defining extra texts. Could be for example: [{'x':1.0, 'y':1.0, 'text':'testing', 'width':5, 'pyx_extra_defs':[color.rgb.red,text.size.Huge] }, {'x':1.0, 'y':2.0, 'text':'testing', 'width':5, 'pyx_extra_defs':[color.rgb.green] }, {'x':1.0, 'y':3.0, 'text':r"line \par break", 'width':5, 'pyx_extra_defs':[color.rgb.blue,text.size.tiny] }] |
'isopleth_params' | [{}] |
List of dicts defining isopleths. Could be for example: [{'color':'MidnightBlue', 'linewidth':'THICK', 'linestyle':'dashdotted', 'transparency':0.2}, {'color':'Orange', 'linewidth':'THIN', 'linestyle':'dashdotted', 'transparency':0.9}] |