java.lang.IllegalStateException: PWC3990: getWriter() has already been called for this response
Run Code Online (Sandbox Code Playgroud)
如何解决这个错误?我运行一个简单的servlet代码来显示条形图.
我想创建类似极点/零点的极点/零点图.它用于显示IIR和FIR滤波器属性,如稳定性,类型......
我的问题是:如何为两个轴设置相同的比例(不是范围)?
我使用ScatterPlot作为图表.
JFreeChart chart = ChartFactory.createScatterPlot("Pole/zero plot", // chart
// title
"real", // x axis label
"imaginary", // y axis label
result, // data
PlotOrientation.VERTICAL, true, // include legend
true, // tooltips
false // urls
);
XYPlot plot = (XYPlot) chart.getPlot();
plot.setDomainGridlinesVisible(true);
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.black);
plot.setDomainGridlinePaint(Color.black);
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelsVisible(true, true);
plot.setDomainCrosshairVisible(true);
plot.setDomainCrosshairLockedOnData(true);
plot.setRangeCrosshairVisible(true);
plot.setRangeCrosshairLockedOnData(true);
float dash1[] = { 10.0f };
XYShapeAnnotation unitCircle = new XYShapeAnnotation(
new Ellipse2D.Double(-1, -1, 2, 2), new BasicStroke(1.0f,
BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个专门嵌入在面板上的图表JInternalFrame
; 它是图书馆的饼图JFreeChart
.我想将图表嵌入一个按变量名称排列的面板上jpPaneles
,但事实证明这是不可能的.这对我的项目来说非常重要,所以如果有人有时间帮助我,我会非常感激.我在NetBeans GUI编辑器中工作.这是代码,您可以看到我尝试将frame1添加到面板.
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
public class Eventad extends javax.swing.JInternalFrame {
public Eventad() {
initComponents();
}
public void updateChart() {
}
public static void main(String arg[]) {
DefaultPieDataset pieDataset = new DefaultPieDataset();
pieDataset.setValue("One", new Integer(10));
pieDataset.setValue("Two", new Integer(20));
pieDataset.setValue("Three", new Integer(30));
pieDataset.setValue("Four", new Integer(10));
pieDataset.setValue("Five", new Integer(20));
pieDataset.setValue("Six", new Integer(10));
JFreeChart chart = ChartFactory.createPieChart3D(
"3D Pie Chart", pieDataset, true, true, true);
PiePlot3D p = (PiePlot3D) chart.getPlot(); …
Run Code Online (Sandbox Code Playgroud) 我想jfreechart
在jsp页面中显示一个图表.我写的代码如下 -
...
<%
ChartCreator chart = new ChartCreator();
chart.createCategoryChart();
%>
<img src = "chart.jpg"/>
Run Code Online (Sandbox Code Playgroud)
其中createCategoryChart()
方法创建所需的JPG.它存储在eclipse文件夹中(我没有在我的文件名中放置任何路径).
我无法在jsp页面中查看图表,但是创建了该文件.
我究竟做错了什么?
我创建了折线图:
但我想让它看起来像这样.我也不知道这是什么样的图表.我想在其中制作阴影和圆圈节点.像这样:
我怎样才能做到这一点?顺便说一句,PNG
如果它与我的问题相关,我会将网页中的图表显示为图像格式.提前致谢.
我正在使用JfreeChart 1.0.15库.
我想显示大学和分校的百分比,所以我用setNumberFormatOverride()
方法
final NumberAxis valueAxis = new NumberAxis("Percentage Score");
valueAxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
Run Code Online (Sandbox Code Playgroud)
它显示了我的%
标志,Y-axis
但所有的值都乘以100.
查看Y-axis
值.条形图上的标签值是正确的.
如果我将每个值除以100,那么Y-axis
值是正确的(例如15%,19%,25%,27%),但标签值显示错误(例如0.15,0.19,0.25,0.27).
下面的代码也不会给出所需的输出
DecimalFormat pctFormat = new DecimalFormat("#.0%");
valueAxis.setNumberFormatOverride(pctFormat);
Run Code Online (Sandbox Code Playgroud)
我试过不同的解决方案
他们都没有工作.
如果您需要更多信息,请告诉我.
我需要在图表中设置最小X-tick间隔.我有一个包含1000个条目的数据集,即<0,12>,<5,22>,<10,23>,...,<1000,20>
.在数据集中,X值之间的间隔等于5.在图表中,我想将X-tick间隔设置为等于100.
我使用此代码,但它不起作用:
NumberAxis range = (NumberAxis)plot.getRangeAxis();
range.setTickUnit(new NumberTickUnit(100));
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段:
private JFreeChart createChart(CategoryDataset dataset)
{
final JFreeChart chart = ChartFactory.createAreaChart(
this.title,
"Time",
"Net demand",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
Title t = new TextTitle(this.subtitle);
chart.addSubtitle(t);
int transparency = 95;
Color c = new Color(1, 158, 115, transparency);
final CategoryPlot plot = chart.getCategoryPlot();
CategoryItemRenderer renderer = new CustomRenderer(c);
renderer.setSeriesOutlinePaint(0, Color.black);
renderer.setSeriesOutlineStroke(0, new BasicStroke(0.5f));
renderer.setSeriesPaint(0,c);
plot.setRenderer(renderer);
NumberAxis range = (NumberAxis)plot.getRangeAxis();
range.setTickUnit(new NumberTickUnit(60));
return chart;
}
Run Code Online (Sandbox Code Playgroud) 当我在JFrame应用程序中单击"开始"时,我创建了一个应用程序,可以显示Max,Minimum和Average ping.我做了一个白色的盒子,所以我可以适应一个动态变化的线图,它将与我的统计数据在同一个窗口中,并将以与我的统计数据相同的速率更新(1秒).
无论我谷歌多少,每个人似乎都了解JFreeChart示例代码.我根本不明白如何实现这一点.其他教程仅在其自己的窗口中显示该图形.
我希望有人可以帮助我.这是我现在的JFrame代码:
private void startButtonMouseClicked(java.awt.event.MouseEvent evt) {
String host = hostName.getText();
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable(){
@Override
public void run(){
try {
NetworkAnalyzer.pingCheck(host);
} catch (IOException ex) {
Logger.getLogger(NetworkAnalyzerwindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
}, 0, 1, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
这是我的pingCheck:
public class NetworkAnalyzer {
static int count=0;
static long max_time = 0;
static long min_time = 0;
static long avg_time = 0;
public static void pingCheck(String host) throws IOException{
String time = "";
//command to execute
String pingCmd = …
Run Code Online (Sandbox Code Playgroud) 使用series.add(180, 1);
生成一个完全有效的图表(底部的小红点与一些PolarItemRenderer Mods!)
替代文字http://www.imagechicken.com/uploads/1269795283096077100.png
但使用series.add(3000/(6000/360), 1);
产生这种野兽:
alt text http://www.imagechicken.com/uploads/1269795508054503400.png
我认为这是因为在某个地方,6000/360 = 16.6 ......正在变得圆滑?我怎么能阻止这种情况发生?谢谢 :)