mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
* Slight refactoring in wx/lib/plot/examples/demo.py
* Add a __init__.py * Update the PyPlot sample in the main wxPython demo to use the new plot demo
This commit is contained in:
108
demo/PyPlot.py
108
demo/PyPlot.py
@@ -1,24 +1,23 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import wx
|
||||
|
||||
hadImportError = False
|
||||
try:
|
||||
import numpy
|
||||
import wx.lib.plot
|
||||
except ImportError:
|
||||
hadImportError = True
|
||||
|
||||
|
||||
################################################################\
|
||||
# Where's the code??? |
|
||||
# |
|
||||
# wx.lib.plot.py came with its own excellent demo built in, |
|
||||
# for testing purposes, but it serves quite well to demonstrate |
|
||||
# the code and classes within, so we are simply borrowing that |
|
||||
# code for the demo. Please load up wx.lib.plot.py for a review |
|
||||
# of the code itself. The demo/test is at the bottom of |
|
||||
# the file, as expected. |
|
||||
################################################################/
|
||||
#############################################################################
|
||||
# Where's the code???
|
||||
#
|
||||
# The wx.lib.plot package comes with its own excellent demo built in, for
|
||||
# testing purposes, but it serves quite well to demonstrate the code and
|
||||
# classes within, so we are simply importing and using that code for this
|
||||
# sample in the wxPython demo. Please load up wx/lib/plot/examples/demo.py
|
||||
# for a review of the demo code itself.
|
||||
#############################################################################
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
@@ -32,7 +31,8 @@ class TestPanel(wx.Panel):
|
||||
|
||||
|
||||
def OnButton(self, evt):
|
||||
win = wx.lib.plot.TestFrame(self, -1, "PlotCanvas Demo")
|
||||
from wx.lib.plot.examples.demo import PlotDemoMainFrame
|
||||
win = PlotDemoMainFrame(self, -1, "wx.lib.plot Demo")
|
||||
win.Show()
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -44,12 +44,10 @@ def runTest(frame, nb, log):
|
||||
else:
|
||||
from wx.lib.msgpanel import MessagePanel
|
||||
win = MessagePanel(nb, """\
|
||||
This demo requires the Numeric or numarray module,
|
||||
which could not be imported. It probably is not installed
|
||||
(it's not part of the standard Python distribution). See the
|
||||
Python site (http://www.python.org) for information on
|
||||
downloading source or binaries.""",
|
||||
'Sorry', wx.ICON_WARNING)
|
||||
This demo requires the numpy module, which could not be imported.
|
||||
It probably is not installed (it's not part of the standard Python
|
||||
distribution). See https://pypi.python.org/pypi/numpy for information
|
||||
about the numpy package.""", 'Sorry', wx.ICON_WARNING)
|
||||
|
||||
return win
|
||||
|
||||
@@ -63,79 +61,19 @@ else:
|
||||
<html><body>
|
||||
<center><h2>PyPlot</h2></center>
|
||||
|
||||
This demo illustrates the features of the new PyPlot modules, found
|
||||
in wx.lib.plot.py. All methods and functions are documented clearly
|
||||
therein; only the overview is included here.
|
||||
This demo illustrates the features of the PyPlot modules, found
|
||||
in the wx.lib.plot package.
|
||||
|
||||
<p>
|
||||
PyPlot is an improvement over wxPlotCanvas, which is now deprecated.
|
||||
If you are using wxPlotCanvas now, please make plans to migrate in
|
||||
anticipation of the time that wxPlotCanvas disappears completely.
|
||||
|
||||
<p>
|
||||
The demo illustrates four different plot styles (with appropriate
|
||||
The demo illustrates several different plot styles (with appropriate
|
||||
variations on fonts, etc, to show how flexible it is) as well as
|
||||
provides you with a means to tinker with all the features that
|
||||
come with the class itself.
|
||||
come with the class itself. Be sure to explore the options in the
|
||||
Plot and Options menus to explore some of the capabilities of this
|
||||
plotting package.
|
||||
|
||||
<p><ul>
|
||||
<li>File Menu
|
||||
|
||||
<ul>
|
||||
<li>Page Setup
|
||||
|
||||
<p>This allows you to set up how the plot will be printed. This
|
||||
is built into the library itself.
|
||||
|
||||
<li>Print Preview
|
||||
|
||||
<p>As you might expect, this allows you to preview how the plot
|
||||
will look when printed, in light of the page setup you may
|
||||
have selected above.
|
||||
|
||||
<li>Print
|
||||
|
||||
<p>Surprise! It prints the current plot to your printer! :-)
|
||||
|
||||
<li>Save Plot
|
||||
|
||||
<p>That's right, the library even provides you with the means
|
||||
to export the plotted data out to a graphics file. Several
|
||||
formats are allowed for, basically any image class that
|
||||
supports saving.
|
||||
</ul>
|
||||
|
||||
<li>Plot Menu
|
||||
|
||||
<ul>
|
||||
<li>Plot 1 ... Plot 5
|
||||
|
||||
<p>Different data with different plot formats, including one empty
|
||||
plot.
|
||||
|
||||
<li>Enable Zoom
|
||||
|
||||
<p>If Zoom is enabled, you can rubber-band select an area of the
|
||||
plot to examine it in detail using the left mouse button. Right
|
||||
mouse button zooms back out. This is automatically supported
|
||||
by the library, all you have to do is turn it on.
|
||||
|
||||
<li>Enable Grid
|
||||
|
||||
<p>Plots can have different styles of grids, and and these grids can
|
||||
be turned on or off as needed.
|
||||
|
||||
<li>Enable Legend
|
||||
|
||||
<p>Plot can have legends or not, the contents which are definable
|
||||
by you.
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<HR><pre>
|
||||
%s</pre>
|
||||
</body></html>
|
||||
""" % wx.lib.plot.__doc__
|
||||
"""
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
0
wx/lib/plot/examples/__init__.py
Normal file
0
wx/lib/plot/examples/__init__.py
Normal file
@@ -300,19 +300,15 @@ def _draw10Objects():
|
||||
# ---------------------------------------------------------------------------
|
||||
### Demo Application
|
||||
# ---------------------------------------------------------------------------
|
||||
class DemoApp(object):
|
||||
class PlotDemoApp(object):
|
||||
def __init__(self):
|
||||
self.app = wx.App()
|
||||
self.frame = MainFrame(None, -1, "PlotCanvas")
|
||||
self.frame = PlotDemoMainFrame(None, -1, "PlotCanvas")
|
||||
self.frame.Show(True)
|
||||
wx.CallAfter(wx.MessageBox,
|
||||
"Various plot types can be shown using the Plot menu. " +
|
||||
"Check out the Options menu too.",
|
||||
"wx.lib.plot Demo")
|
||||
self.app.MainLoop()
|
||||
|
||||
|
||||
class MainFrame(wx.Frame):
|
||||
class PlotDemoMainFrame(wx.Frame):
|
||||
# -----------------------------------------------------------------------
|
||||
### UI Initialization
|
||||
# -----------------------------------------------------------------------
|
||||
@@ -342,7 +338,10 @@ class MainFrame(wx.Frame):
|
||||
# Show closest point when enabled
|
||||
self.client.canvas.Bind(wx.EVT_MOTION, self.OnMotion)
|
||||
|
||||
self.Show(True)
|
||||
wx.CallAfter(wx.MessageBox,
|
||||
"Various plot types can be shown using the Plot menu. " +
|
||||
"Check out the Options menu too.",
|
||||
"wx.lib.plot Demo")
|
||||
|
||||
|
||||
def _init_file_menu(self):
|
||||
@@ -979,7 +978,7 @@ def run_demo():
|
||||
"""
|
||||
Run the :mod:`wx.lib.plot` demo application.
|
||||
"""
|
||||
DemoApp()
|
||||
PlotDemoApp()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user