private GeneralPath makePathFromData(TreeMap<Float, Float> pts, int TYPE) {
		GeneralPath trend = new GeneralPath();
		timePathPoints.clear();
		// /////////////////////
		float minimumPt = roundTo(min(new ArrayList<Float>(pts.values())), 3);
		float maximumPt = roundTo(max(new ArrayList<Float>(pts.values())), 3);
		if (TYPE == INDIVIDUAL) {
			minMaxLine = new Point2D.Float(minimumPt, maximumPt);
			startFinishTicker = new Point2D.Float(pts.firstEntry().getValue(),
					pts.lastEntry().getValue());
		}
		if (TYPE == MARKET) {
			minMaxMarket = new Point2D.Float(minimumPt, maximumPt);
			startFinishMarket = new Point2D.Float(pts.firstEntry().getValue(),
					pts.lastEntry().getValue());
		}// System.out.println(category + " range: " + minimumPt + "   ---   "
			// + maximumPt);
		float range = maximumPt - minimumPt;
		float vertScaling = (PIXELS_HEIGHT * verticalSizeInt) / range;

		graphInterval = (eWidth - PIXELS_BORDER * 2) / (pts.size());
		int i = 0;
		for (Entry<Float, Float> e : pts.entrySet()) {
			float f = e.getValue();
			float date = e.getKey();
			float xpt = 2 * PIXELS_BORDER + graphInterval * i;

			float ypt = top + PIXELS_HEIGHT * verticalSizeInt
					- (vertScaling * (f - minimumPt));
			if (!general) {
				if (TYPE == INDIVIDUAL)
					timePathPoints.put(date, new Point2D.Float(xpt, ypt));
			}
			if (i == 0) {
				trend.moveTo(xpt, ypt);
			} else {
				trend.lineTo(xpt, ypt);
			}
			i++;
		}

		// /////////////////////
		return trend;
	}