展开全部

如果读取得到的二维数组 ,存储的是每个像素的颜色值32313133353236313431303231363533e59b9ee7ad9431333365656565 , 那么很简单, 可以使用 数组转换到图片(网上有很多的代码) , 然后绘制到JFrame等窗体上.如果读取的二维数组,是类似于下面这种形式{{2018,20},{2017,30},{2016,15}}可以使用第三方的 JFreeChart 等 进行图表绘制, 优点 可以输出图片,可以显示到网页或者JFrame/Frame窗口上. 缺点: 效果不是很好看.实现动态效果比较麻烦

可以使用JavaFX 自带的图表组件进行绘制. 优点: 默认的效果不错, 动态效果实现起来也很简单 缺点: 一般只用于本地客户端上的显示

使用 BufferedImage和Graphics 类来绘制 一个图片, 优点: 自定义程度高, 可以充分发挥想象,绘制一个拉风的效果. 缺点: 有点麻烦.代码有点长了.[一般只用于验证码等小图片的绘制]

JFreeChart 效果图

JavaFX 效果图( 里面的数据是随即生成的,只是为了测试效果)

JavaFX饼状图的参考代码 ,我写了很多的注释import javafx.animation.*;

import javafx.application.Application;

import javafx.collections.*;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.geometry.Side;

import javafx.scene.Scene;

import javafx.scene.chart.PieChart;

import javafx.scene.chart.PieChart.Data;

import javafx.scene.control.*;

import javafx.scene.effect.DropShadow;

import javafx.scene.input.MouseEvent;

import javafx.scene.layout.StackPane;

import javafx.scene.paint.Color;

import javafx.stage.Stage;

import javafx.util.Duration;

//

public class A03_PieChart03 extends Application {

public static void main(String[] args) {

launch(args);//启动程序

}

@Override

public void start(Stage primaryStage) throws Exception {

StackPane root = new StackPane();// 栈布局面板

Scene scene = new Scene(root, 500, 400);//场景

PieChart pc = new PieChart();//饼状图

ObservableList datas = getDate();

pc.setData(datas);//设置饼状图的初始数据

pc.setTitle("流行技术市场占有率");// 设置饼图标题

pc.setLegendSide(Side.LEFT);// 图例 靠左

pc.setClockwise(false);// 逆时针显示

//pc.setLabelsVisible(false);// 隐藏饼状图上面的文字描述

DropShadow ds=new DropShadow(); // 阴影效果

ds.setOffsetX(3);//x轴偏移3

ds.setColor(Color.GREY);//阴影颜色

pc.setEffect(ds);//给饼状图设置阴影效果

root.getChildren().add(pc);//把饼状图添加到面板上

primaryStage.setTitle("动态饼状图");//设置标题

primaryStage.setScene(scene);//设置主场景

primaryStage.show();//显示窗口

// -------如果需要动态效果 , 那么就需要下面的代码---------

Timeline tl = new Timeline(); //时间轴动画

tl.getKeyFrames().add(new KeyFrame(Duration.millis(800), new EventHandler() {

@Override

public void handle(ActionEvent event) {

for (Data data : pc.getData()) {

data.setPieValue(Math.random()*50);//数据随即改变.(只是为了测试效果)

}

}}));

tl.setCycleCount(Animation.INDEFINITE);//循环次数无限

tl.play(); // 开始动画

}

// 初始的数据

private ObservableList getDate() {

ObservableList data = FXCollections.observableArrayList(new PieChart.Data("Java", 36.8),

new PieChart.Data("C++", 16.2), new PieChart.Data("Python", 12.3), new PieChart.Data("Ruby", 9.5),

new PieChart.Data("JavaScript", 21.5));

return data;

}

}

java 怎样展示二维画矩阵图_如何用java绘制矩阵的图相关推荐

  1. python二维数组换行输出_关于用python绘制二维数组的问题

    我有一个关于用matplotlib绘制二维数组的问题.在我的代码中,我有一个2D数组,名为len(z)=20,z的值为: [[ 642.3774486 662.59980588 706.8014217 ...

  2. python 画股票走势图_使用Python matplotlib绘制股票走势图

    一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使用心得进行 ...

  3. origin画对数坐标_如何用Origin绘制对数坐标图、双横坐标图及插入到Word文稿

    如何用Origin绘制对数坐标图.双横坐标图及插入到Word文稿 1) 如何绘制纵坐标为log.ln对数图 答:如要绘制y轴为log.ln的对数图,选择y轴,"双击",在" ...

  4. python怎么画函数图_可视化|Python绘制桑基图

    桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图.它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于电商.材料成分.金融等数据的可视化分析.因18 ...

  5. python制作微信个人二维码怎么做_如何用Python制作微信的好友背景墙?

    前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟每个人 ...

  6. r语言怎么以第二列绘制线图_用卫星图像绘制世界海岸线图-第二部分

    r语言怎么以第二列绘制线图 Part I of this blog series is here. 本博客系列的第一部分 在这里 . At the UKHO we are interested in ...

  7. html5脑图_使用HTML5技术绘制思维导图

    客户常常提到思维导图,喜欢它的结构展示方式,和交互的友好,从图论的角度看,思维导图本质上是一种树,有一个根节点(主题)出发,联想到其他话题,于是分支开花,再分支,有时候也会构成网络结构,由子分支联想到 ...

  8. 怎么样用python画一朵花_如何用程序绘制一朵花?

    首先我们看看我们最后的效果是怎样的. 根据上面的效果,我们可以看出来,其实花是由花瓣组成的,每一个花瓣又是由圆弧组成的,枝杆是由直线组成的,其实单独去绘制出每一部分,我相信都可以,这里主要是要将它们每 ...

  9. 绘制多个折线图_精品图表 | Excel绘制面板折线图

    上一节的内容中给大家讲解了多系列折线图的绘制,还没有学会的小伙伴可以点击下面的链接学习,或者打开上面的[专辑]查看更多的文章. 精品图表 | Excel绘制多系列折线图 本期内容将给大家带来的折线面板 ...

最新文章

  1. 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源
  2. 通俗易懂理解~图机器学习导论
  3. 不确定大小的数组_原来数组是容器喔
  4. InfoPath表单每增加一个表单产生一个自动增加ID序号
  5. web前端入门学习 css(9)广义的html5 品优购项目(html+css基础完结,js开始,移动端布局开始)
  6. WebSocket 详解
  7. 转:ORACLE的JDBC连接方式:OCI和THIN
  8. 基于torch.nn.functional.conv2d实现CNN
  9. 导入shape文件到SDE数据库
  10. 构建在线教育弹性高可用视频处理架构实战
  11. php 实现贪吃蛇游戏,HTML5 贪吃蛇游戏实现思路及源代码_html5教程技巧
  12. excel重复上一步快捷键_工作再忙也要学会的十个Excel快捷键
  13. 【Linux】Linux 标准目录结构
  14. uni 修改数据页面不重新渲染
  15. Redis入门到精通-姜海强-专题视频课程
  16. 「leetcode」738.单调递增的数字【贪心算法】详细讲解!
  17. widevine level1测试视频的生成方法
  18. 【网站数据统计解决方案】快速了解pv、uv、spm、utm_source、埋点等知识
  19. oracle自动加一天,如何将Oracle 当前日期加一天、一分钟
  20. 计算机突然断电恢复供电后,电脑突然断电的坏处有哪些?

热门文章

  1. (一)开始使用混合边缘AI进行面部识别
  2. 将您的SQL Server工作负载迁移到PostgreSQL
  3. Visual Studio 2019 首个候选发布版发布
  4. 使用实体框架核心和C#创建具有Dotnet核心的自定义Web爬虫程序
  5. python logging模块详解_python logging模块使用总结
  6. java优化上传速度慢怎么办_网站建设中影响网站优化的一些因素
  7. 框架 go_GoFrame v1.13.1 发布,Go 应用开发框架
  8. 我的世界手机版javaui材质包_传奇世界中变版手机版下载-传奇世界中变版手机版最新下载...
  9. r 64位连接mysql_R与Mysql数据库连接的两种方法
  10. 计算机一级学科评选,我系力学被评选为一级学科国家重点学科