小编kin*_*spp的帖子

如何使用SampleController在Java FX中设置Axis范围?

我使用场景构建器v2.0创建了一个fxml布局.我正在修改控制器文件中的图表,即SampleController.java文件.我能够使用.setTitle方法设置图表标题.我需要动态设置xAxis(Start,End,Ticks)和yAxis的范围.在CSS中,使用lowerBound和upperBound属性很容易设置.但这是一个永久的解决方案.请提供宝贵的建议和解决方案.

Main.java:

package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.SplitPane;
import javafx.stage.Stage;
public class Main extends Application{
    @Override
    public void start(Stage primaryStage) { 
        try {
            SplitPane root = (SplitPane)FXMLLoader.load(getClass().getResource("Sample.fxml"));
            Scene scene = new Scene(root,800,400);          
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();            
        } catch(Exception e) {
            e.printStackTrace();
        }
    }   
    public static void main(String[] args) {
        launch(args);



    }
}
Run Code Online (Sandbox Code Playgroud)

Sample.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.chart.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>

<SplitPane dividerPositions="0.7892976588628763" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="400.0" minWidth="800.0" prefHeight="400.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.SampleController"> …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2

7
推荐指数
2
解决办法
2万
查看次数

如何使用Pandas分组两列?

我正在研究一种算法,它需要按两列分组.Pandas支持使用以下两列进行分组:

df.groupby([col1, col2])
Run Code Online (Sandbox Code Playgroud)

但结果数据帧不是必需的数据帧

工作设置:
Python: v3.5
Pandas: v0.18.1

Pandas Dataframe - 输入数据:

     Type                  Segment
id                              
1   Domestic                 1
2     Salary                 3
3        NRI                 1
4     Salary                 4
5     Salary                 3
6        NRI                 4
7     Salary                 4
8     Salary                 3
9     Salary                 4
10       NRI                 4
Run Code Online (Sandbox Code Playgroud)

所需数据帧: 每个段中[国内,薪水,NRI]的计数

                  Domestic    Salary    NRI
        Segment
              1          1       3       1
              3          0       0       0
              4          0       3       2                   
Run Code Online (Sandbox Code Playgroud)

实验:

group = df.groupby(['Segment', 'Type'])
group.size()

Segment           Type        Count
1                 Domestic    1
                  NRI         1
3                 Salary …
Run Code Online (Sandbox Code Playgroud)

excel python-3.x pandas

2
推荐指数
1
解决办法
2765
查看次数

如何在不使用 Swing API 的情况下保存 JAVA FX 图表?

我有以下功能来保存 LineChart 图像:

@FXML
    public void saveAsPng() {
        String timeStamp = new SimpleDateFormat("HHmmss_yyyyMMdd").format(Calendar.getInstance().getTime());            
        chart.setAnimated(false);               
        System.out.println("Saving . . .");
        WritableImage image = chart.snapshot(new SnapshotParameters(), null);
        File file = new File("chart"+timeStamp+".png");

        try {
            ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", file);
        } catch (IOException e) {
             Logger.getLogger(SampleController.class.getName()).log(Level.SEVERE, null, e);
             System.out.println("Error");
        }           
    }
Run Code Online (Sandbox Code Playgroud)

遗憾的是,用于 ARM 的 JDK 不支持Swing API。使用时出现错误:

ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", file);
Run Code Online (Sandbox Code Playgroud)

我在WritableImage 图像变量中有渲染图像。还有其他方法可以保存图表吗?

swing arm javafx javafx-2

1
推荐指数
1
解决办法
1506
查看次数

标签 统计

javafx ×2

javafx-2 ×2

arm ×1

excel ×1

java ×1

pandas ×1

python-3.x ×1

swing ×1