gpt4 book ai didi

java - 在 JFreeChart 中更改温度计中的 Mercurial 颜色

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:48 25 4
gpt4 key购买 nike

我用 JFreeChart 创建了一个温度计图表,但我想更改温度计中的 Mercurial 颜色。我怎样才能做到这一点?到目前为止,这是我的代码;请说明更改此代码的位置:

final DefaultValueDataset dataset = new DefaultValueDataset(new Double(10));

// create the chart...
final ThermometerPlot plot = new ThermometerPlot(dataset);

final JFreeChart chart = new JFreeChart("Thermometer Demo 2", // chart title
JFreeChart.DEFAULT_TITLE_FONT,
plot, // plot
false); // include legend

chart.setBackgroundPaint(new Color(241,250,224));
plot.setMercuryPaint();
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setUpperBound(50);

最佳答案

您可能正在寻找 setSubrangePaint() ,如下所示。

ThermometerDemo

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.ThermometerPlot;
import org.jfree.data.general.DefaultValueDataset;

/** @see http://stackoverflow.com/questions/7597015 */
public class ThermometerDemo extends JPanel {

private static final int W = 200;
private static final int H = 2 * W;

public ThermometerDemo(double value) {
this.setLayout(new GridLayout());
DefaultValueDataset dataset = new DefaultValueDataset(value);
ThermometerPlot plot = new ThermometerPlot(dataset);
plot.setSubrangePaint(0, Color.green.darker());
plot.setSubrangePaint(1, Color.orange);
plot.setSubrangePaint(2, Color.red.darker());
JFreeChart chart = new JFreeChart("Demo",
JFreeChart.DEFAULT_TITLE_FONT, plot, true);
this.add(new ChartPanel(chart, W, H, W, H, W, H,
false, true, true, true, true, true));
}

public static void main(final String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
JFrame f = new JFrame("Demo");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridLayout(1, 0));
f.add(new ThermometerDemo(40));
f.add(new ThermometerDemo(60));
f.add(new ThermometerDemo(80));
f.pack();
f.setVisible(true);
}
});

}
}

关于java - 在 JFreeChart 中更改温度计中的 Mercurial 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com