V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tanling
V2EX  ›  程序员

Java 平台的 Matplotlib:本人研发的一个 3D 可视化组件“Matplot3D for Java ”,请大家使用推广

  •  1
     
  •   tanling · 2017-12-20 20:02:48 +08:00 · 2493 次点击
    这是一个创建于 2312 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人独立研发的纯 JAVA 平台 3D 数学图表和数据可视化组件。在 JAVA SE 1.5 环境即可运行。以 jar 包的方式存在。它提供易于使用的 API,可以方便的生成 3 维效果的各种图形图表。可用于数据的可视化和数学分析等领域。支持交互操作,使用鼠标在现实趋于拖动以及使用鼠标滚轮能实时改变观察角度和缩放比例等等,请大家使用推广:

    资源地址: 资源下载(开源中国): https://gitee.com/tanling8334/Matplot3D-for-Java 资源下载(网盘): https://pan.baidu.com/s/1qYmNxpE 资源下载( github ): https://github.com/tanling8334/Matplot3D-for-Java

    输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

    Matplot3D for JAVA 工具库采用外观( FACADE )设计模式提供方便的绘图 API。 Matplot3DMgr 是工具库的外观类。其中常量属性成员如下

    int	DATA_TYPE_DOTS
            散点数据输入类型
    
    int	DATA_TYPE_FUNCTION3D
    空间函数输入类型
    
    int	DATA_TYPE_CURVE2DS
    二维折线输入类型
    
    int	DATA_TYPE_MATRIX 
    数据阵列输入类型
    
    int	SHOW_TYPE_DOTS 
    点状显示类型
    
    int	SHOW_TYPE_SURFACE
    曲面显示类型
    
    int	SHOW_TYPE_PLAN_SHAPE
    平面多边形显示类型
    
    int	SHOW_TYPE_PLANBARS
    平面柱状图显示类型
    

    Matplot3DMgr 的方法成员及说明如下:

    void	show()
    直接在独立的窗口中显示绘制图像
    
    boolean	updateView(long timeToWait) 
    刷新绘制面板,并在 timeToWait 毫秒内阻止再刷新。如果刷新成功返回 true,否则返回 false。编程模式为:
        while(updateView(20)){
            //change something
        }
    
    
    Jpanel	getPanel()
    获取绘制面板 JPanel 对象。此对象与 show()方法中现实的为同一对象,因此此方法不要和 show()方法同时使用
    
    void	setDataInputType(int type)
    设置输入数据模式。
        MatPlot3DMgr.DATA_TYPE_DOTS
        MatPlot3DMgr.DATA_TYPE_FUNCTION3D
        MatPlot3DMgr.DATA_TYPE_CURVE2DS
        MatPlot3DMgr.DATA_TYPE_MATRIX 
    
    void 	setShowType(int showType) 
    设置输出显示模式。
        MatPlot3DMgr.SHOW_TYPE_DOTS 
        MatPlot3DMgr.SHOW_TYPE_SURFACE
        MatPlot3DMgr.SHOW_TYPE_PLAN_SHAPE
        MatPlot3DMgr.SHOW_TYPE_PLANBARS
    
    void 	addData2D(String key, Color color, List<Point2D.Double> pointsList)
    输入模式为 DATA_TYPE_CURVE2DS 可用。
        加入在同一平面中的折线数据,并指定显示颜色
    
    void 	addData2D(String key, List<Point2D.Double> pointsList)
    输入模式为 DATA_TYPE_CURVE2DS 可用。
        加入在同一平面中的折线数据
    
    void	addData(String key, List<Point3D> pointsList)
    输入模式为 DATA_TYPE_DOTS 可用。
        加入一个系列的点位置数据。不同系列会显示不同的颜色和图形
    
    void 	addData(String key, double[][] matrix)
    输入模式为 DATA_TYPE_MATRIX 可用。
        加入一个系列的二维数量矩阵。一般用于显示柱状图
    
    void 	addData(Function function, Range rangeX, Range rangeY)
    输入模式为 DATA_TYPE_FUNCTION3D 可用。
        设置一个函数并指定 XY 方向的定义域范围
    
    void 	addData(Function function, Range rangeX, Range rangeY, int stepCountX, int stepCountY)
    输入模式为 DATA_TYPE_FUNCTION3D 可用。
        设置一个函数并指定 XY 方向的定义域范围,并指定 XY 方向分段数
    
    void	setScaleX(double scaleX)
    设置 X 方向缩放比例
    
    void	setScaleY(double scaleY)
    设置 Y 方向缩放比例
    
    void	setScaleZ(double scaleZ)
    设置 Z 方向缩放比例
    
    double	getScaleX()
    获取当前输入模式下 X 方向缩放比例
    
    double	getScaleY()
    获取当前输入模式下 Y 方向缩放比例
    
        double	getScaleZ()
    获取当前输入模式下 Z 方向缩放比例
    
    void	setFocusPerspectiveType(boolean flag)
    设置是否为焦点透视三维显示模式
    
    void	setScatterPerspectiveType(boolean flag)
    设置是否为散点透视三维显示模式
    
    void	setAntiAliasing(boolean isAntiAliasing)
    设置是否抗锯齿显示(显示效果与计算机操作系统和机器性能有较大关系)
    
    void	setMouseDraggable(boolean isMouseDraggable)
    设置是否支持鼠标交互控制。在设置值为 true 的情况下可以拖拽鼠标和滚动鼠标          滚轮,控制观察角度和缩放画面
    
    void 	setShowLegend(boolean isShowLegend)
    设置是否支显示图例(如果有的话)
    
    void	setSeeta(double seeta)
    设置视线俯仰角度
    
    void	setBeita(double beita)
    设置视线方位角度
    
    double	getSeeta()
    获取视线俯仰角度
    
    double	getBeita()
    获取视线方位角度
    
    void	setFocusPoint(Point3D focusPoint)
    设置观测中心点的三维坐标
    
    void	setTitle(String title) 
    设置图标标题
    
    String 	getTitle()
    获取图表标题
    
    第 1 条附言  ·  2019-09-25 09:06:32 +08:00
    第 2 条附言  ·  2019-10-10 10:21:01 +08:00
    资源地址有所更改:

    资源下载(开源中国): https://gitee.com/tanling8334/Matplotlib-3D-for-Java
    资源下载( github ): https://github.com/tanling8334/Matplotlib-3D-for-Java
    tanling
        1
    tanling  
    OP
       2017-12-20 20:18:55 +08:00
    -_-
    kimown
        2
    kimown  
       2017-12-20 20:34:18 +08:00 via Android
    👍 厉害
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2793 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:00 · PVG 22:00 · LAX 07:00 · JFK 10:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.