سؤال

وعلى وجه التحديد أنا أتطلع لإضافة شروح النص إلى مواقع محددة لJFreeChart أن يجري الإخراج إلى ملف بابوا نيو غينيا للاستخدام على شبكة الإنترنت. يمكن / الحصول على إضافة كيف شروح الرسوم البيانية الدائرية. لقد كنت قادرا على إضافة بنجاح شروح XYPlots، ولكن لا أعرف كيف لتراكب أو إضافة واحد إلى PiePlot.

ومهمتي الكاملة لاستخدام PiePlot إلى خلق نوع من ساعة. حتى الآن كل شيء عملت كبيرة، ولكن الآن أنا بحاجة لإضافة تسميات في 12 و 3 و 6 و 9 مواقع صباحا ومتعكز تماما.

وآدم

هل كانت مفيدة؟

المحلول 2

وبعد بحث مضن إلى حد ما لا أعتقد أن هذا ممكن حاليا (JFreeChart 1.0.13). الخيارات الممكنة هي:

وإنشاء المخطط الثاني مع XYPlot لتوليد صورة ثانية مع الشروح اللازمة. تراكب هذه الصورة على الصفحة. هذا الخيار هو سيء لأنه يضاعف من عدد من الرسم البياني الصور ليتم تحميلها.

وتعيين صورة كخلفية على الصفحة وHTML النص فوق الصورة. سيئة لأنه ليس للصيانة ويجعل الصداع نقل البيانات.

وشخصيا أنا فقط سوف تجد وسيلة أخرى لإيصال المعلومات في العنوان، لكنني أرغب في وظيفة استنتاجاتي للشخص المقبل. آدم

نصائح أخرى

وقليلا من مسألة قديمة، ولكن هنا كيف فعلت شيئا من هذا القبيل (الشرح في 1، 2، 3، ... مواقف الساعة) باستخدام مؤامرة القطبية. ويستخدم ChoiceFormatter وNumberTickUnit:

    final JFreeChart chart = ChartFactory.createPolarChart(
            "HAPI Hourly Usage (UTC)", ds, true, true, false);
    final PolarPlot plot = (PolarPlot) chart.getPlot();

    // Create a ChoiceFormat to map the degrees to clock positions
    double[] limits = new double[12];
    String[] formats = new String[12];
    limits[0] = 0;
    formats[0] = "12";

    // degrees = 360/12
    for (int i = 1; i < limits.length; i++) {
        limits[i] = degrees * (i);
        formats[i] = Integer.toString(i);
    }
    ChoiceFormat clock = new ChoiceFormat(limits, formats);

    TickUnit tickUnit = new NumberTickUnit(degrees, clock);

    // now configure the plot
    plot.setAngleTickUnit(tickUnit); // sets the ticks
    plot.setAngleLabelsVisible(true); // makes the labels visible
    plot.setAngleLabelPaint(Color.LIGHT_GRAY); // user choice
    plot.setAngleGridlinesVisible(true); // must set this to display the
                                         // labels
    plot.setAngleGridlinePaint(Color.BLACK); // plot's background color
                                             // (makes lines invisible)
    plot.setRadiusGridlinesVisible(false); //turn off the radius value circles
    ValueAxis axis = plot.getAxis();
    axis.setTickLabelsVisible(false); //turn off the radius value labels

ويختتم تبدو وكأنها http://img522.imageshack.us/img522/6693/ hapihours.jpg

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top