我写了一个简单的服务器和客户端示例如下.
客户:
获取输入流并从流中读取.此时获得例外
public class DateServer {
public static void main(String[] args) throws InterruptedException {
ServerSocket serverSocket = null;
Socket client = null;
try {
serverSocket = new ServerSocket(6013);
while (true) {
client = serverSocket.accept();
OutputStream outputStream = client.getOutputStream();
InputStream inputStream = client.getInputStream();
System.out.println("" + outputStream + "-" + inputStream);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(inputStream));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out
.println("Message recieved from client ::" + line);
}
PrintWriter …Run Code Online (Sandbox Code Playgroud)我正在使用JFreeChart XYPLot绘制具有不同标签的XYData集.我为不同的标签创建了不同的XYSeries对象,这样我就可以为不同的标签设置不同的颜色.现在我需要更改每个XYDataSeries中特定点(测试数据)的形状,如下所示
.在上面的绘图中,有两种不同的XYSeries,蓝色和红色.在这两个中,我需要将某些点(测试数据)的形状更改为X而不是圆形.是否有可能在JFreeChart. 这篇文章解释了如何为整个数据集做到这一点,但我想只改变特定点
下面是我到目前为止编写的代码
public static Map<String, XYSeries> createXYSeries(Data[] dataSet){
Map<String,XYSeries> xySeries = new HashMap<String, XYSeries>();
for(Data data : dataSet){
if(xySeries.get(data.actualLabel) == null){
xySeries.put(data.actualLabel, new XYSeries(data.actualLabel));
}
xySeries.get(data.actualLabel).add(data.dimensionValues[0],data.dimensionValues[1]);
}
return xySeries;
}
public XYDataset createXYSeriesCollection(Map<String, XYSeries> plottingDataSet) {
XYSeriesCollection xySeriesCollection = new XYSeriesCollection();
for (String key : plottingDataSet.keySet()) {
xySeriesCollection.addSeries(plottingDataSet.get(key));
}
return xySeriesCollection;
}
private ChartPanel createPlottingPanel(String title,
Map<String, XYSeries> plottingDataSet) {
JFreeChart jfreechart = ChartFactory.createScatterPlot(title, "X", "Y",
createSampleData(plottingDataSet), PlotOrientation.VERTICAL,
true, true, false);
XYPlot xyPlot = (XYPlot) jfreechart.getPlot(); …Run Code Online (Sandbox Code Playgroud)