我正在尝试绘制一系列相似的函数。域是 [0,1],范围总是在 [-3,3] 中。
我希望每个图表的 Y 轴限制都相同。尝试设置系列 y min 和 y max 似乎不起作用。
有没有办法使每个图表上的 Y 轴限制相同?
import java.math.BigDecimal;
import java.util.*;
import com.xeiam.xchart.*;
public class Bug {
static void plot(Chart chart,int n) {
chart.setTitle("title");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
List<Number> x=new ArrayList<Number>();
List<Number> y=new ArrayList<Number>();
String seriesName=addOneSeries(chart,n,x,y);
}
private static String addOneSeries(Chart chart,int n,List<Number> x,List<Number> y) {
for(int i=0;i<=10;i++) {
x.add(i/10.);
y.add(i*n/10.);
}
String seriesName="series "+n;
Series series=chart.addSeries(seriesName,x,y);
series.xMin=BigDecimal.ZERO;
series.xMax=BigDecimal.ONE;
series.yMin=new BigDecimal(-5);
series.yMax=new BigDecimal(5);
return seriesName;
}
public static void main(String[] args) {
for(int i=0;i<4;i++) {
Chart chart=new Chart(700,500);
plot(chart,i);
new SwingWrapper(chart).displayChart();
}
}
}
设置最小值和最大值Chart
现在可以用XChart http://xeiam.com/xchart.jsp。下面是 OP 的 Bug 类的重写,演示了这一点。此时,由于这是一个全新的功能,您必须获得一个 xchart-2.0.0-SNAPSHOT jarhere https://oss.sonatype.org/content/groups/public/com/xeiam/xchart/xchart/2.0.0-SNAPSHOT/为了看到这个能力。请随时寻求帮助或请求更多功能 https://github.com/timmolter/XChart/issues?state=open!
public class NoBug {
static void plot(Chart chart, int n) {
chart.setChartTitle("title");
chart.setXAxisTitle("X");
chart.setYAxisTitle("Y");
List<Number> x = new ArrayList<Number>();
List<Number> y = new ArrayList<Number>();
String seriesName = addOneSeries(chart, n, x, y);
}
private static String addOneSeries(Chart chart, int n, List<Number> x, List<Number> y) {
for (int i = 0; i <= 10; i++) {
x.add(i / 10.);
y.add(i * n / 10.);
}
String seriesName = "series " + n;
Series series = chart.addSeries(seriesName, x, y);
chart.getStyleManager().setxAxisMin(0);
chart.getStyleManager().setxAxisMax(1);
chart.getStyleManager().setyAxisMin(-5);
chart.getStyleManager().setyAxisMax(5);
return seriesName;
}
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
Chart chart = new LineChart(700, 500);
plot(chart, i);
new SwingWrapper(chart).displayChart();
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)