<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FChart%2FSegmented_High_Low_Chart</id>
		<title>Java/Chart/Segmented High Low Chart - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FChart%2FSegmented_High_Low_Chart"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Chart/Segmented_High_Low_Chart&amp;action=history"/>
		<updated>2026-04-06T01:02:15Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Chart/Segmented_High_Low_Chart&amp;diff=8055&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Chart/Segmented_High_Low_Chart&amp;diff=8055&amp;oldid=prev"/>
				<updated>2010-06-01T06:52:26Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:52, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Chart/Segmented_High_Low_Chart&amp;diff=8054&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Chart/Segmented_High_Low_Chart&amp;diff=8054&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== JFreeChart: Segmented High Low Chart Demo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* ===========================================================&lt;br /&gt;
 * JFreeChart : a free chart library for the Java(tm) platform&lt;br /&gt;
 * ===========================================================&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Project Info:  http://www.jfree.org/jfreechart/index.html&lt;br /&gt;
 *&lt;br /&gt;
 * This library is free software; you can redistribute it and/or modify it under the terms&lt;br /&gt;
 * of the GNU Lesser General Public License as published by the Free Software Foundation;&lt;br /&gt;
 * either version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;&lt;br /&gt;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
 * See the GNU Lesser General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU Lesser General Public License along with this&lt;br /&gt;
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 *&lt;br /&gt;
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. &lt;br /&gt;
 * in the United States and other countries.]&lt;br /&gt;
 *&lt;br /&gt;
 * ------------------------------&lt;br /&gt;
 * SegmentedHighLowChartDemo.java&lt;br /&gt;
 * ------------------------------&lt;br /&gt;
 * (C) Copyright 2003, 2004, by Bill Kelemen and Contributors.&lt;br /&gt;
 *&lt;br /&gt;
 * Original Author:  Bill Kelemen;&lt;br /&gt;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);&lt;br /&gt;
 *&lt;br /&gt;
 * $Id: SegmentedHighLowChartDemo.java,v 1.11 2004/04/26 19:12:03 taqua Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Changes&lt;br /&gt;
 * -------&lt;br /&gt;
 * 24-May-2003 : Version 1 (BK);&lt;br /&gt;
 * 12-Nov-2003 : Added roll factor to tick units to improve labelling on date axis (DG);&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
package org.jfree.chart.demo;&lt;br /&gt;
import java.text.SimpleDateFormat;&lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import org.jfree.chart.ChartFactory;&lt;br /&gt;
import org.jfree.chart.ChartPanel;&lt;br /&gt;
import org.jfree.chart.JFreeChart;&lt;br /&gt;
import org.jfree.chart.axis.DateAxis;&lt;br /&gt;
import org.jfree.chart.axis.DateTickUnit;&lt;br /&gt;
import org.jfree.chart.axis.NumberAxis;&lt;br /&gt;
import org.jfree.chart.axis.SegmentedTimeline;&lt;br /&gt;
import org.jfree.chart.axis.TickUnits;&lt;br /&gt;
import org.jfree.data.xy.DefaultHighLowDataset;&lt;br /&gt;
import org.jfree.ui.ApplicationFrame;&lt;br /&gt;
import org.jfree.ui.RefineryUtilities;&lt;br /&gt;
/**&lt;br /&gt;
 * A demo showing a daily and intraday segmented high-low-open-close charts.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Bill Kelemen&lt;br /&gt;
 */&lt;br /&gt;
public class SegmentedHighLowChartDemo extends ApplicationFrame {&lt;br /&gt;
    /**&lt;br /&gt;
     * A demonstration application showing a high-low-open-close chart using a&lt;br /&gt;
     * segmented or non-segmented axis.&lt;br /&gt;
     *&lt;br /&gt;
     * @param title  the frame title.&lt;br /&gt;
     * @param useSegmentedAxis use a segmented axis for this demo?&lt;br /&gt;
     * @param timelineType Type of timeline to use: 1=Monday through Friday, 2=Intraday&lt;br /&gt;
     */&lt;br /&gt;
    public SegmentedHighLowChartDemo(final String title,&lt;br /&gt;
                                     final boolean useSegmentedAxis,&lt;br /&gt;
                                     final int timelineType) {&lt;br /&gt;
        super(title);&lt;br /&gt;
        System.out.println(&amp;quot;\nMaking SegmentedHighLowChartDemo(&amp;quot; + title + &amp;quot;)&amp;quot;);&lt;br /&gt;
        // create a Calendar object with today&amp;quot;s date at midnight&lt;br /&gt;
        final Calendar cal = Calendar.getInstance();&lt;br /&gt;
        cal.set(Calendar.HOUR_OF_DAY, 0);&lt;br /&gt;
        cal.set(Calendar.MINUTE, 0);&lt;br /&gt;
        cal.set(Calendar.SECOND, 0);&lt;br /&gt;
        cal.set(Calendar.MILLISECOND, 0);&lt;br /&gt;
        // create a timeline for the demo&lt;br /&gt;
        SegmentedTimeline timeline = null;&lt;br /&gt;
        switch (timelineType) {&lt;br /&gt;
            case 1:&lt;br /&gt;
                timeline = SegmentedTimeline.newMondayThroughFridayTimeline();&lt;br /&gt;
                break;&lt;br /&gt;
            case 2:&lt;br /&gt;
                timeline = SegmentedTimeline.newFifteenMinuteTimeline();&lt;br /&gt;
                final Calendar cal2 = (Calendar) cal.clone();&lt;br /&gt;
                cal2.add(Calendar.YEAR, 1);&lt;br /&gt;
                // add 1 year of baseTimeline&amp;quot;s excluded segments (Saturdays and Sundays) as&lt;br /&gt;
                // exceptions of the intraday timeline&lt;br /&gt;
                timeline.addBaseTimelineExclusions(cal.getTime().getTime(),&lt;br /&gt;
                    cal2.getTime().getTime());&lt;br /&gt;
                break;&lt;br /&gt;
            default:&lt;br /&gt;
                System.out.println(&amp;quot;Invalid timelineType.&amp;quot;);&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // create a data set that has data for trading days (Monday through Friday).&lt;br /&gt;
        final DefaultHighLowDataset dataset =&lt;br /&gt;
            DemoDatasetFactory.createSegmentedHighLowDataset(timeline, cal.getTime());&lt;br /&gt;
        final JFreeChart chart;&lt;br /&gt;
        if (useSegmentedAxis) {&lt;br /&gt;
            chart = ChartFactory.createHighLowChart(&lt;br /&gt;
                title,&lt;br /&gt;
                &amp;quot;Time&amp;quot;, &amp;quot;Value&amp;quot;,&lt;br /&gt;
                dataset, timeline, true);&lt;br /&gt;
        } &lt;br /&gt;
        else {&lt;br /&gt;
            chart = ChartFactory.createHighLowChart(&lt;br /&gt;
                title,&lt;br /&gt;
                &amp;quot;Time&amp;quot;, &amp;quot;Value&amp;quot;,&lt;br /&gt;
                dataset, true);&lt;br /&gt;
        }&lt;br /&gt;
        final DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();&lt;br /&gt;
        axis.setAutoRange(true);&lt;br /&gt;
        final TickUnits units = new TickUnits();&lt;br /&gt;
        units.add(new DateTickUnit(DateTickUnit.DAY, 1, DateTickUnit.HOUR, 1, &lt;br /&gt;
                                   new SimpleDateFormat(&amp;quot;d-MMM&amp;quot;)));&lt;br /&gt;
        units.add(new DateTickUnit(DateTickUnit.DAY, 2, DateTickUnit.HOUR, 1,&lt;br /&gt;
                                   new SimpleDateFormat(&amp;quot;d-MMM&amp;quot;)));&lt;br /&gt;
        units.add(new DateTickUnit(DateTickUnit.DAY, 7, DateTickUnit.DAY, 1,&lt;br /&gt;
                                   new SimpleDateFormat(&amp;quot;d-MMM&amp;quot;)));&lt;br /&gt;
        units.add(new DateTickUnit(DateTickUnit.DAY, 15,  DateTickUnit.DAY, 1,&lt;br /&gt;
                                   new SimpleDateFormat(&amp;quot;d-MMM&amp;quot;)));&lt;br /&gt;
        units.add(new DateTickUnit(DateTickUnit.DAY, 30, DateTickUnit.DAY, 1,&lt;br /&gt;
                                   new SimpleDateFormat(&amp;quot;d-MMM&amp;quot;)));&lt;br /&gt;
        axis.setStandardTickUnits(units);&lt;br /&gt;
        final NumberAxis vaxis = (NumberAxis) chart.getXYPlot().getRangeAxis();&lt;br /&gt;
        vaxis.setAutoRangeIncludesZero(false);&lt;br /&gt;
        final ChartPanel chartPanel = new ChartPanel(chart);&lt;br /&gt;
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));&lt;br /&gt;
        setContentPane(chartPanel);&lt;br /&gt;
    }&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    // * COMMERCIAL SUPPORT / JFREECHART DEVELOPER GUIDE                          *&lt;br /&gt;
    // * Please note that commercial support and documentation is available from: *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * http://www.object-refinery.ru/jfreechart/support.html                   *&lt;br /&gt;
    // *                                                                          *&lt;br /&gt;
    // * This is not only a great service for developers, but is a VERY IMPORTANT *&lt;br /&gt;
    // * source of funding for the JFreeChart project.  Please support us so that *&lt;br /&gt;
    // * we can continue developing free software.                                *&lt;br /&gt;
    // ****************************************************************************&lt;br /&gt;
    /**&lt;br /&gt;
     * Starting point for the demonstration application.&lt;br /&gt;
     *&lt;br /&gt;
     * @param args  ignored.&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(final String[] args) {&lt;br /&gt;
        final ApplicationFrame[][] frame = new ApplicationFrame[2][2];&lt;br /&gt;
        frame[0][0] = new SegmentedHighLowChartDemo(&amp;quot;Segmented Daily High-Low-Open-Close Demo&amp;quot;, &lt;br /&gt;
                                                    true, 1);&lt;br /&gt;
        frame[1][0] = new SegmentedHighLowChartDemo(&amp;quot;Normal Daily High-Low-Open-Close Demo&amp;quot;, &lt;br /&gt;
                                                    false, 1);&lt;br /&gt;
        frame[0][1] = new SegmentedHighLowChartDemo(&amp;quot;Segmented Intraday High-Low-Open-Close Demo&amp;quot;, &lt;br /&gt;
                                                    true, 2);&lt;br /&gt;
        frame[1][1] = new SegmentedHighLowChartDemo(&amp;quot;Normal Intraday High-Low-Open-Close Demo&amp;quot;, &lt;br /&gt;
                                                    false, 2);&lt;br /&gt;
        for (int i = 0; i &amp;lt; 2; i++) {&lt;br /&gt;
            for (int j = 0; j &amp;lt; 2; j++) {&lt;br /&gt;
                frame[i][j].pack();&lt;br /&gt;
                RefineryUtilities.positionFrameOnScreen(frame[i][j], .15 + .70 * j, .25 + .50 * i);&lt;br /&gt;
                frame[i][j].setVisible(true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>