📄 changelog
字号:
[11-Nov-2001] JpGraph 1.4
==========================
Bug Fixes:
-------------------------------------------------------------------------------------
* [me] Enabled E_NOTICE warnings in my PHP installation and found a couple of
glitches (harmeless out-of-bound in two loops) which is now corrected.
* [me] Fixed problem in line plots where y-value==0 wasn't drawn. (Once again
bitten by the fact that in PHP the following is true: ""==0)
* [me] Fixed color specification for bars when initialized as an array of colors
* [me] Fixed color of bars using shadow which was advertedly set to shadow color
* [me] Fixing incorrect color specification for legends using bars with color arrays
* [me] Add check for sum=0 in pie plots to avoid divide by 0 problem
* [me] Changed the stroke orderd for FilledRectangle() so that the shadow doesn't
overwrite a line with weight > 1
* [me] Fixed incorrect calculation of font height for titles which cause the
subtitle to be to close to the title.
Additions:
-------------------------------------------------------------------------------------
* [me] Added depth parameter (DEPTH_FRONT, DEPTH_BACK) for gridlines
Graph::SetGridDepth()
* [me] Added possibility to add static horizontal and vertical band with a
pattern in the plot area. Graph::AddBand() Supports solid, diagonal,
stright line, 3D-plane crosses (both diagonal/vertical) patterns.
Graph::AddBand()
* [me] Added possibility to have static lines in the plot. This is now implemented
with new class PlotLine and two new functions Graph::AddLine(),
* [me] Added symbolic constants to specify background image types
BGIMG_COPY, BGIMG_FILLPLOT, BGIMG_FILLFRAME
* [me] Added extended label formatting through either
Axis::SetLabelFormatString() C-style formatting string
or
Axis::SetLabelFormatCallback() A callback function that are given the value to be displayed
and should manipulate the value as it likes
The use of the old style digit precision variable will be deprecated from next version.
* [me] Added error check if supplied Y-data has unspecified value at index 0 to avoid
out of bounds error when corrupted data is sent in to JpGraph.
* [me] Added possibility to specify image depth for gridlines. You can now specify
Graph::SetGridDepth() as DEPTH_FRONT or DEPTH_BACK. Depending on if you want
the gridlines at the back of in front of your plots.
* [me] Added possibility to specify Cache file name as "auto". In this case the
image file name will have the same name as the scriupt that generates the
image with the extension of the automtically generated graphic format.
NOTE: You will get the wrong extension using this feature at the same
time as specifying a different graphic format thne the automatically choosen
one.
* [me] Added some more advanced examples for impuls drawings impulsex3.php and
impulsex4.php
* [me] The values on top of bars can now be at an angle and the horisontal
position now account for if a shadow is present.
* [me] Added filename to Graph::Stroke() which makes it easy to output an image
directly to a file _without_ streaming it back to the browser. Usefull for
batch processing
* [me] Added new tutorial for bar graphs
* [me] New scale type "int". This gives a normal linear scale but restricts
ticks (and labels) to integer values. Can be used for both X and Y scales.
* [me] Added subtitle to graph
* [me] Added possibility to specify an array of X-coordinates with bar plots to
position individual bars on the X-scale. Makes it much easier to combine
bar plots with other types of plots, (line, scatter etc)
* [me] Extended utility adjimage.php to allow it to manipulate color saturation.
* [me] Added Image::AdjSat() to allow manipulation of the color
saturation in the image. This also makes it very easy to change the image
to greyscale (just set saturation=-1).
Extended Graph::AdjImage() and Graph::AdjBackgroundImage()
to include new parameter for saturation value.
* [me] Added BarPlot::SetAlign() which makes it possible to align
bars relative the tickmark for linear and int scale
* [me] Added possibility to absolutely set the width of bars. This will
override the automatically decided with based on the scale and tick distance
Changes:
-------------------------------------------------------------------------------------
* [me] Legend color for scatter plots now becomes the fill color of the mark
* [me] Impulsplots now anchors at Y-value = 0 if the y-axis contains both negative
and positive values. Otherwise it will go to the lowest value on the Y-axis.
* [me] Bar shadows is now connected to bars to make for a stronger 3D effect.
* [me] Removed all deprecated references and usage of FONT0, FONT1, FONT2. Note
You can no longer use these. Instead use FF_FONT0, FF_FONT1, FF_FONT2 etc
* [me] Text scale now starts default labelling at 0
* [me] All plots internally adjusted to start at default X-coordinate 0 to harmonize better
with X-scale.
* [me] Graph->Stroke() now just returns instead of exit()
* [me] Removed flag argument for BarPlot::SetShadow()
* [me] Bar plots are know by default filled with lightblue
unless otherwise specified.
* [me] Changed the way bars are positioned for linear and integer
scale for maximum flexibility when mixing barplot with other
plots.
* [me] The ALT strings for all image maps now uses printf() syntax to display
the actual value. If you have used this feature you must update your
ALT strings, for example "val=%v" must become "val=%d" or whatever format
you choose.
* [me] Changed the formatting of bar graphs by changing the framework
so that labels on the x-axis using a text scale is now independent
on the tick marks.
This makes it possible to have the labels centered under each bar but have
the tickmarks between the bars as most other commercial graph packages
format these typw of graphs. Introduced Axis::SetTextLabelsInterval()
Effects jpgraph.php, jpgraph_log.php and jpgraph_bar.php
* [me] Renamed Axis::SetTextTicks() to Axis::SetTextTicksInterval() to make the name
more descriptive. The old name is deprecated from this version on but will still
work until 2.0 to keep compatibility.
* [me] Cleaned up implementation of pie3d so it now inherits from pie to avoid
a lot of duplicated code and easier maintainance. (A good example of the real
life OO programming where you might not see the similarities between two classes
until you fully implement them.) File size of jpgraph_pie3d.php has shrunk by
roughly 40%
[23-Sep-2001] JpGraph 1.3.1
===========================
Additions:
* [Michael Anthon] Added client side image maps to 3D pie plots
* [me] Added possibility to better control the labeling of pie graphs with an optional
label formatting string PiePlot::SetLabelFormat(), PiePlot::SetLabelType()
This also makes it possible to have labels with the absolute value and not only the
percentage. (same with pie3d)
* [me] Added formatting capabilities for legends on pie and pie3d graphs. Can have the value
automtically included (Se Examples/pieex6.php)
* [me] Added some more examples, negbarvalueex1.php, scatterlinkex2.php, pie3d_csimex1.php
pieex6.php
Known bugs and omissions:
- Client side image maps does not currently handle exploded pie graphs (just
normal pie graphs.
Bug fixes:
* [me] Fixed problem with positioning the displayed values for negative bars
* [me] Fixed shadow for negative bars
* [me] Fixed problem in Plot::Min(), PlotMax::Max() whereby zeros where not counted
towards minimum since in PHP 0=="". This could sometimes cause strange autoscaling.
* [Vitaly E. Ashmarin] Wrong arguments to imagejpeg() for combination of specified
image quality and filename = ""
* [John Milne] BarPlot::SetFillColor() fixed glitch in loop variable
[13-Sep-2001] JpGraph 1.3
=========================
Note: I have to the best of my memory tried to give credit where
credit is due. Howevever, since ver 1.2.2 I have received over 2000 mail about
JpGraph with Questions/Suggestions/Improvments (and a few bug fixes) etc and
I might have missed some in the process of going through these mails. The
fault is completely my own and if you recognize some idea I have implemented
something which you think you should have credit for please drop me a note and
I will adjust the add you to the change notes.
Known bugs and omissions:
- The automatic value on bar graphs does not work well with
negative bar graphs. (Quite easy to fix though..)
- Client side image maps does not currently handle exploded pie graphs (just
normal pie graphs.
IMPORTANT NOTICE:
* SC (SOURCE COMPATIBILITY) BREAK !: If you want to rotate the image the parameter
is no longer supplied directly in the call to Graph() but rather as a method
call Graph::SetAngle(). I decided to make this SC break since I judged it more
natural to supply the timeout value just efter the specified cache-file name
in the Graph() call. Hopefully this will not hit to many people since my hunch is
that few people uses the rotate function and it's very easy to fix those script
that does so.
Bug Fixes:
* [michael@anthon.net] Corrected behviour of accumulated bar graph so it now
diffrentiate between the accumulated positive and negative values.
* [marko@fly.srk.fer.hr] Fixed Max() calculations for accumulated bar graphs
where my original code was a little bit sloppy. (I simply took the max for
each plot and added those and this might be more then the real maximum.)
* [m.purgar@extracom.de] Spotting an incorrect "jpg" in the image where it should
have been "jpeg"
* [adam.blomberg@euroseek.net,patrik.johansson@euroseek.net] 3D-Pie filling
problem for small slices due to the discrapency between GD arc() and the
JpGraphs purely mathematical definition of an ellipse.
* [delorme.maxime@free.fr] 2D-Pie Floodfill might "escape" for very small values of slices.
* [et.al] Improved handling of 0:s vs "" values. This was necessary since PHP treats
0 as "" the same in a number of situations and JpGraph needs to diffrentiate these
two cases. This caused 0 data values to be treated as null values and not be inluded
in (for example) autoscaling consideration.
Additions:
* [me] Added new global constant USE_CACHE which makes it possible to disable
writing to the cache even if a filename is supplied in th Graph::Graph() method.
* [me] Added LinePlot::SetStyle() to make it possible to make dashed, dotted etc
lineplots. (See example1.2). Also adjusted legend to display the same style in
the legend.
* [michael@anthon.net, me] Added client side image maps for all types of bars
and 2D pies with possibility to have the actual value shown in an ALT-tag.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -