问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在java中使用chart动态设置图表大小??

发布网友 发布时间:2022-04-30 05:32

我来回答

2个回答

热心网友 时间:2023-10-17 08:38

  List<PointValue> valuesLow = new ArrayList<PointValue>();    //每天的最低温度
List<PointValue> valuesHigh = new ArrayList<PointValue>();   //每天的最高温度
for(int i=0;i<list.size();i++){    //list为数据集合 数据结构如下:
    /** "future":[
{
"date":"2016-03-25",
"dayTime":"晴",
"night":"晴",
"temperature":"15°C / 3°C",
"week":"今天",
"wind":"无持续风向 小于3级"
},
] */
String[] temp=list.get(i).getTemperature().split("/",2);
    //x轴座标其实就是从i开始到需要的那天结束 此次截取字符串。。
valuesHihg.add(new PointValue(i,Integer.parseInt(temp[0].trim().substring(0,temp[0].length()-3).trim())).setLabel(temp[0]));
if (temp[1].length()==0||temp[1]==null||temp.length==1)
temp[1] = "0000";
valuesLow.add(new PointValue(i,Integer.parseInt(temp[1].trim().substring(0,temp[1].length()-3).trim())).setLabel(temp[1]));
}
      initLineChart(valuesHigh,valuesLow);//处理图表
下面就是对图表各属性的设置了
/**
* 初始化LineChart的一些设置
*/
private void initLineChart(List<PointValue> highPointValues,List<PointValue> lowPointValues){
List<Line> lines = new ArrayList<Line>();
Line line = new Line(highPointValues).setColor(Color.parseColor("#C0D79C")).setStrokeWidth(1); //折线的颜色、粗细
line.setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状 这里是圆形 (有三种 :ValueShape.SQUARE ValueShape.CIRCLE ValueShape.SQUARE)
line.setCubic(true);//曲线是否平滑
line.setFilled(false);//是否填充曲线的面积
  line.setHasLabels(true);//曲线的数据坐标是否加上备注
line.setPointRadius(3); //座标点大小
line.setHasLabelsOnlyForSelected(false);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
line.setHasLines(true);//是否用直线显示。如果为false 则没有曲线只有点显示
line.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示
lines.add(line);
Line lineLow = new Line(lowPointValues).setColor(Color.parseColor("#C0D79C")).setStrokeWidth(1);
lineLow.setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状 这里是圆形 (有三种 :ValueShape.SQUARE ValueShape.CIRCLE ValueShape.SQUARE)
lineLow.setCubic(true);//曲线是否平滑
lineLow.setFilled(false);//是否填充曲线的面积
lineLow.setHasLabels(true);//曲线的数据坐标是否加上备注
lineLow.setPointRadius(3);
lineLow.setHasLabelsOnlyForSelected(false);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
lineLow.setHasLines(true);//是否用直线显示。如果为false 则没有曲线只有点显示
lineLow.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示
lines.add(lineLow);
LineChartData data = new LineChartData();
data.setValueLabelBackgroundColor(Color.TRANSPARENT);    //此处设置坐标点旁边的文字背景
data.setValueLabelBackgroundEnabled(false);
data.setValueLabelsTextColor(Color.BLACK); //此处设置坐标点旁边的文字颜色 data.setLines(lines);

//设置行为属性,支持缩放、滑动以及平移
mWeatherChart.setInteractive(false);
// mWeatherChart.setZoomType(ZoomType.HORIZONTAL_AND_VERTICAL);
// mWeatherChart.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);
mWeatherChart.setScrollEnabled(false);
mWeatherChart.setLineChartData(data);
mWeatherChart.setValueTouchEnabled(false);
mWeatherChart.setFocusableInTouchMode(false);
mWeatherChart.setVisibility(View.VISIBLE);
mWeatherChart.startDataAnimation();
}追问我只要改变他的长与宽,你这么多有点乱还望请给我个简便的大神

热心网友 时间:2023-10-17 08:38

源代码放上来研究一下

热心网友 时间:2023-10-17 08:38

  List<PointValue> valuesLow = new ArrayList<PointValue>();    //每天的最低温度
List<PointValue> valuesHigh = new ArrayList<PointValue>();   //每天的最高温度
for(int i=0;i<list.size();i++){    //list为数据集合 数据结构如下:
    /** "future":[
{
"date":"2016-03-25",
"dayTime":"晴",
"night":"晴",
"temperature":"15°C / 3°C",
"week":"今天",
"wind":"无持续风向 小于3级"
},
] */
String[] temp=list.get(i).getTemperature().split("/",2);
    //x轴座标其实就是从i开始到需要的那天结束 此次截取字符串。。
valuesHihg.add(new PointValue(i,Integer.parseInt(temp[0].trim().substring(0,temp[0].length()-3).trim())).setLabel(temp[0]));
if (temp[1].length()==0||temp[1]==null||temp.length==1)
temp[1] = "0000";
valuesLow.add(new PointValue(i,Integer.parseInt(temp[1].trim().substring(0,temp[1].length()-3).trim())).setLabel(temp[1]));
}
      initLineChart(valuesHigh,valuesLow);//处理图表
下面就是对图表各属性的设置了
/**
* 初始化LineChart的一些设置
*/
private void initLineChart(List<PointValue> highPointValues,List<PointValue> lowPointValues){
List<Line> lines = new ArrayList<Line>();
Line line = new Line(highPointValues).setColor(Color.parseColor("#C0D79C")).setStrokeWidth(1); //折线的颜色、粗细
line.setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状 这里是圆形 (有三种 :ValueShape.SQUARE ValueShape.CIRCLE ValueShape.SQUARE)
line.setCubic(true);//曲线是否平滑
line.setFilled(false);//是否填充曲线的面积
  line.setHasLabels(true);//曲线的数据坐标是否加上备注
line.setPointRadius(3); //座标点大小
line.setHasLabelsOnlyForSelected(false);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
line.setHasLines(true);//是否用直线显示。如果为false 则没有曲线只有点显示
line.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示
lines.add(line);
Line lineLow = new Line(lowPointValues).setColor(Color.parseColor("#C0D79C")).setStrokeWidth(1);
lineLow.setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状 这里是圆形 (有三种 :ValueShape.SQUARE ValueShape.CIRCLE ValueShape.SQUARE)
lineLow.setCubic(true);//曲线是否平滑
lineLow.setFilled(false);//是否填充曲线的面积
lineLow.setHasLabels(true);//曲线的数据坐标是否加上备注
lineLow.setPointRadius(3);
lineLow.setHasLabelsOnlyForSelected(false);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
lineLow.setHasLines(true);//是否用直线显示。如果为false 则没有曲线只有点显示
lineLow.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示
lines.add(lineLow);
LineChartData data = new LineChartData();
data.setValueLabelBackgroundColor(Color.TRANSPARENT);    //此处设置坐标点旁边的文字背景
data.setValueLabelBackgroundEnabled(false);
data.setValueLabelsTextColor(Color.BLACK); //此处设置坐标点旁边的文字颜色 data.setLines(lines);

//设置行为属性,支持缩放、滑动以及平移
mWeatherChart.setInteractive(false);
// mWeatherChart.setZoomType(ZoomType.HORIZONTAL_AND_VERTICAL);
// mWeatherChart.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);
mWeatherChart.setScrollEnabled(false);
mWeatherChart.setLineChartData(data);
mWeatherChart.setValueTouchEnabled(false);
mWeatherChart.setFocusableInTouchMode(false);
mWeatherChart.setVisibility(View.VISIBLE);
mWeatherChart.startDataAnimation();
}追问我只要改变他的长与宽,你这么多有点乱还望请给我个简便的大神

热心网友 时间:2023-10-17 08:38

源代码放上来研究一下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“定是李八百”的出处是哪里 李八百六种说法 李仙指道教传说中仙人 李八百 学习劈叉,每次静压压腿多久 六哥救的叫花子是谁的孩子 大智慧江恩三日图源码,找了无数公式,想在大智慧里用 ,一直没找到_百度... 测试类工具有哪些 服务器压力测试需要用的8种工具 8岁的小孩能玩什么游戏8岁男童和父母玩些什么互动游戏 摩尔庄园手游冲浪板凯文在哪里现在摩尔庄园凯文在哪 请教化工配料方面的英文翻译,谢谢! 公款私存被家人后用于投资又告知他本人 java如何生成数据统计图表 食品配料英文翻译中的英文单词是否要用复数。。 java 导出Excel数据如何生成图表,如柱状图,折线图 如何用java做数据曲线图 配料房 用英语怎么说 如何使用java做统计图表 配料种类(用英文写) 调料的英文单词 求神偷奶爸3百度云资源 “配料”英语中有没有动词吖? 谁能帮我把龙族中言灵总结一下 求铁血战士系列的全部高清下载地址!!! 瞄准电视剧公安局长是谁演的他犯过什么罪? - 信息提示 谷智鑫还演过那些电视剧?《恰同学少年》除外 电视剧武工队演王亮的演亮叫什么 粱永生主演的电视剧 如何查看王者荣耀绑定的身份证号成年 java怎么实现同比环比在同一图表上 在java中怎么创建数据库和数据库表 天然气炉子进水管需要长期接水龙头吗? 天然气公司为什么不让装三通? 安装天然气热水器水管在墙内怎么看是冷水进水管和出水热水管啊? 万和天然气热水器进气口接了进水管,水管通水了,还没接天然气管,热水器还没插电开机,机器有什么影响? 数据库中自然连接和等值连接的区别 上海辰网网络科技有限公司怎么样? 福州京辰网络科技有限公司怎么样? 安徽网辰网络科技有限公司怎么样? 福建省一辰网络科技有限公司怎么样? 郑州瀚辰网络科技有限公司怎么样? 上海通辰网络科技有限公司怎么样? 福州星瀚辰网络科技有限公司怎么样? 广州巨辰网络科技有限公司怎么样? 河南壹辰网络科技有限公司怎么样? 宜宾贤辰网络科技有限公司怎么样? 河南希美辰网络科技有限公司怎么样? 深圳市伊辰网络科技有限公司怎么样? 上海托辰网络科技有限公司怎么样?