Commit Graph

54 Commits

Author SHA1 Message Date
Kenneth Lyons
5353acdb1c Static paths not used for docs. Fix malformed table in docstring 2020-05-16 10:12:33 -07:00
Lev Maximov
a76d9daec2
Date axis item (#1154)
* Add DateAxisItem

* Change style to camelCase

* Fix missing first tick for negative timestamps

* Add ms precision, auto skipping

Auto skipping allows a zoom level to skip ticks automatically if the
maximum number of ticks/pt is exceeded

* fixes suggested by @goetzc

* workaround for negative argument to utcfromtimestamp on windows

* attachToPlotItem method

* default date axis orientation

* Use new DateAxisItem in Plot Customization example

* attachToPlotItem bugfix

* examples of DateAxisItem

* modified description of customPlot example

* added descriptions to the new examples, reformatted their code, included the first one into utils.py

* typo

* Refactored code for setting axis items into new function

Replaces "DateAxisItem.attachToPlotItem"

* Fix string comparison with ==

* Doc: Slightly more text for DateAxisItem, small improvement for PlotItem

* Make PlotWidget.setAxisItems official

* Fix typo in docstring

* renamed an example

* merge bug fix

* Revert "merge bug fix"

This reverts commit 876b5a7cdb.

* Real bug fix

* support for dates upto -1e13..1e13

* Automatically limit DateAxisItem to a range from -1e12 to 1e12 years

Very large years (|y|>1e13) cause infinite loop, and since nobody
needs time 100 times larger than the age of the universe anyways,
this constrains it to 1e12.

Following suggestion by @axil:
https://github.com/pyqtgraph/pyqtgraph/pull/1154#issuecomment-612662168

* Also catch ValueErrors occuring on Linux before OverfloeErrors

While zooming out, before hitting OverflowErrors, utctimestamp
produces ValueErrors (at least on my Linux machine), so they
are also catched.

* Fix: Timestamp 0 corresponds to year 1970

For large years, x axis labels jump by 1970 years if it is not
accounted for timestamp 0 to be equal to year 1970.

* Fix: When zooming into extreme dates, OSError occurs

This commit catches the OSError like the other observed errors

* Disable stepping below years for dates outside *_REGULAR_TIMESTAMP

2 reasons: First: At least on my Linux machine, zooming into
those dates creates infinite loops. Second: Nobody needs
sub-year-precision for those extreme years anyways.

* Adapt zoom level sizes based on current font size and screen resolution

This is somewhat experimental. With this commit, no longer 60 px are
assumed as width for all zoom levels, but the current font and
display resolution are considered to calculate the width of ticks in
each zoom level. See the new function `updateZoomLevels` for
details.
Before calling this function, overridden functions `paint` and
`generateDrawSpecs` provide information over the current display
and font via `self.fontScaleFactor` and `self.fontMetrics`.

* Meaningful error meassage when adding axis to multiple PlotItems

As @axil noted in the DateAxisItem PR, currently users get a
segmentation fault when one tries to add an axis to multiple
PlotItems. This commit adds a meaningful RuntimeError message
for that case.

* setZoomLevelForDensity: Refactoring and calculating optimal spacing on the fly

* DateTimeAxis Fix: 1970 shows when zooming far out

* Refactoring: Make zoomLevels a customizable dict again

* updated the dateaxisitem example

* Fix: Get screen resolution in a way that also works for Qt 4

This is both a simplification in code and an improvement in backwards compatibility with Qt 4.

* DateAxisItem Fix: Also resolve time below 0.5 seconds

* unix line endings in examples

* DateTimeAxis Fix: For years < 1 and > 9999, stepping broke

Stepping was off by 1970 years for years < 1 and > 9999,
resulting in a gap in ticks visible when zooming out. Fixed by
subtracting the usual 1970 years.

* DateTimeAxis Fix: Zooming out too far causes infinite loop

Fixed by setting default limits to +/- 1e10 years. Should still
be enough.

* improved second dateaxisitem example

* 1..9999 years limit

* DateTimeAxis: Use OrderedDict to stay compatible with Python < 3-6

* DateAxisItem: Use font height to determine spacing for vertical axes

* window title

* added dateaxisitem.rst

* updated index.rst

Co-authored-by: Lukas Heiniger <lukas.heiniger@sed.ethz.ch>
Co-authored-by: Lev Maximov <lev.maximov@gmail.com>
Co-authored-by: 2xB <2xB@users.noreply.github.com>
2020-04-27 11:43:22 -07:00
Kenneth Lyons
db67a256a9
Miscellaneous doc fixups (#1142)
* Miscellaneous doc cleanup

* Moved dockarea up a level (like flowchart, parametertree). Removed extraneous parametertree doc
2020-04-03 10:06:25 -07:00
Julian Hofer
74294502bd
doc: Fix small mistake in introduction 2020-01-10 11:36:06 +01:00
Kenneth Lyons
ec445e7601 HDF5Exporter handling of ragged curves with tests (#1072)
* HDF5Exporter handles ragged curves by saving them into different datasets based on their names.

* Add HDF5Exporter tests

* Document HDF5Exporter

* Fix tmp file path
2019-11-12 09:01:49 -08:00
Axel Jacobsen
18661cab0d BarGraphItem CSV export and documentation 2019-08-06 09:32:43 -07:00
Daryl.Xu
a38bdc06de
Fix typo 2019-07-10 10:38:04 +08:00
Billy Su
266b0d0b47 Update the installation document
* Add the method to directly install the latest commit or any branch
on the GitHub.
2018-10-08 10:59:05 +08:00
Luke Campagnola
cfc9759502 update readme / install docs to mention PySide2 2018-05-24 17:16:38 -07:00
Luke Campagnola
5e13e89480 Update installation docs 2018-02-13 17:24:39 -08:00
Luke Campagnola
315bbe171a Partial merge; rejected graphicsWindow docs
Merge branch 'Billy4195-Documentation' into cleanup
2018-02-13 17:23:17 -08:00
Billy Su
447001876e API Reference add Graphics Windows 2018-02-05 22:47:45 +08:00
Billy Su
708d9d252d Add installation method using pip3 2018-02-03 10:13:22 +08:00
Billy Su
7e1e7bfdc2 Add bold style to the list Title 2018-02-03 00:13:57 +08:00
Luke Campagnola
1426e334e1 PyQtGraph release 0.10.0 2016-11-04 22:47:56 -07:00
Luke Campagnola
39ebc6717d Remove rawimagewidget from doc files (this file has never been linked to the index anyway) 2016-10-25 21:00:55 -07:00
Luke Campagnola
e9afbb9b9c Clean up examples / docs 2016-08-31 15:14:25 -07:00
Luke Campagnola
a76fc37112 imageAxisOrder config option now accepts "row-major" and "col-major" instead of "normal" and "legacy"
ImageItems can individually control their axis order
image tests pass with axis order check
2016-08-23 09:10:26 -07:00
Luke Campagnola
bee5878915 Added imageAxisOrder config option
Added global config documentation
ROIs don't exactly work yet..
2016-08-23 09:06:43 -07:00
Luke Campagnola
70482432b8 Improve ImageItem performance by scaling LUT instead of image when possible.
Moved eq function from flowcharts to main function library to support this.
Bonus: fixed a flowchart bug (backspace deletes wrong connector) while I was in there.
2016-01-30 00:10:25 -08:00
Luke Campagnola
fdaffea5c2 tweak text 2015-07-12 11:52:24 -05:00
Eric Dill
3707a67589 DOC: Note odd behavior with setup.py develop 2015-07-11 14:53:29 -05:00
Eric Dill
934c2e437f MNT: Print function -> Print statement 2015-07-11 11:17:48 -05:00
Luke Campagnola
70cfdb4bbe PyQtGraph release 0.9.10 2014-12-24 14:34:58 -05:00
Luke Campagnola
f7a54ffd42 Release 0.9.9 2014-12-14 20:01:00 -05:00
Luke Campagnola
88bf8880e1 Correction to exporting docs 2014-10-03 10:33:08 -04:00
Luke Campagnola
26730ad947 Link ErrorBarItem in documentation 2014-06-27 11:05:05 -04:00
Luke Campagnola
9c2a66ec86 Doc update 2014-03-29 21:47:14 -04:00
Luke Campagnola
20054c1807 Corrected how-to-use documentation on using git subtrees 2014-03-29 16:03:43 -04:00
Luke Campagnola
05b70e9e49 Added ConsoleWidget documentation 2014-02-28 21:44:48 -05:00
Luke Campagnola
fccae7d72c Added note about opengl and vispy 2014-02-28 21:33:48 -05:00
Luke Campagnola
250ae84149 doc corrections
update contributors list
2014-02-28 21:09:03 -05:00
Luke Campagnola
c72638ab1b Merge branch 'tommy3001-doc-updates' into develop
Conflicts:
	pyqtgraph/graphicsItems/AxisItem.py
	pyqtgraph/graphicsItems/PlotDataItem.py
	pyqtgraph/graphicsItems/ROI.py
2014-02-28 21:07:43 -05:00
Luke Campagnola
912f1f13c2 documentation fixes 2014-02-28 20:27:22 -05:00
tommy3001
f8c9406f84 Renaming of GraphicsLayoutItem to GraphicsLayout 2014-02-08 17:27:15 +01:00
tommy3001
f1f097ec21 - Links in plot function added/resolved
(PlotWidget.plot() can not resolved, maybe useless)

-Links in "Organization of Plotting Classes" added/resolved
   - GraphicsLayoutItem changed to GraphicsLayout
      (svg/png picture also)

  graphicswindow.rst now useless (no link)

  Yes it "makes" ....
2014-02-08 17:16:45 +01:00
Luke Campagnola
9ffc172bf7 Added documentation on using pyqtgraph as a subpackage. 2013-12-23 15:20:56 -05:00
Luke Campagnola
6ae0892ea0 Set version strings to 0.9.8 in source; these will be updated with major releases.
Added tools/setVersion script
setup.py now auto-generates version string based on pyqtgraph/__init__ and git info, if available
2013-12-01 10:23:45 -05:00
Luke Campagnola
79e2b1403b minor edits 2013-07-03 08:54:18 -04:00
Luke Campagnola
3d820400d3 Added GLLinePlotItem documentation 2013-05-31 14:04:04 -04:00
Luke Campagnola
aff70070ac started Qt documentation extension 2013-05-30 12:57:03 -04:00
Luke Campagnola
daaf481830 fixed glGraphicsItem documentation 2013-04-07 09:30:49 -04:00
Luke Campagnola
2a27687fb2 merged updates from acq4 2013-03-07 15:29:56 -05:00
Luke Campagnola
412e1d2ec8 doc updates
ViewBox: made padding more consistent for all auto-ranging methods, deprecated autoRange(item=) in favor of autoRange(items=)
2013-02-20 11:13:50 -05:00
Luke Campagnola
6e5c5e402b merged many new features from ACQ4 2013-02-10 17:45:16 -05:00
Luke Campagnola
d5112df8f7 Actually added flowchart documentation this time. 2013-01-07 12:11:23 -05:00
Luke Campagnola
2a7a5e23eb Added Qt crash course file (mostly empty) 2013-01-07 10:46:49 -05:00
Luke Campagnola
60836462d2 Updated flowchart documentation 2013-01-07 10:45:03 -05:00
Luke Campagnola
4cbc012474 Added documentation on exporting 2012-12-30 13:17:41 -05:00
Luke Campagnola
8d5e24c8fd Removed incorrect version numbers 2012-12-27 11:53:22 -05:00