导航:首页 > 操作系统 > android坐标轴

android坐标轴

发布时间:2025-08-10 12:32:40

‘壹’ android怎么将柱状图和曲线共存

1、先选取主要数据区,插入柱形图

于是得到了下面的图表,但是注意到横坐标并非“1月,2月...”,而是"1,2...",所以先来解决这个

2、右侧图表->“选择数据”->"水平(分类)轴标签",设置水平分类标签的数据源

完成之后,水平横坐标应该能正常显示"1月,2月..."了,但是到目前为止,折线图还不见踪影

3、在图表上右击-->选择数据源-->图例项(系列)-->添加

按照下图设置“系列名称”来源,以及“系列值”来源(即添加浙江件数的数据来源)

完成之后,会发现图表面目全非了,而且右侧的纵向坐标轴也变了!

4、选中图表中的柱状,右击-->更改系列图表类型(Y)

改成折线图

然后继续选中折线,右击-->设置数据系列格式-->设置为"次坐标轴",你会发现之前漂亮的图表又回来了

5、类似的操作,添加其它几个省份的"件数"折线图

可能注意到了:右侧的图例中,有二组相同的省份(一组是柱状图的,一组是折线图的),可以删掉一组

6、最后调整柱状图跟折线的颜色,以便让这二组图的颜色一致

终于,得到了一个漂亮的同时带有“折线”跟“柱状”的图表.

‘贰’ android中这样的曲线要怎么绘制

绘制曲线图首先需要画好横竖坐标轴建立坐标系,比如坐标系中的100距离应该在canvas中绘制多长,这个是需要计算的,其实坐标体系的建立是最复杂的,我看过很多第三方库的建立方法都不一样,有的要灵活一些,有的比较死板。至于绘制曲线要么是用Canvas.drawLine方法,要么是用Path.lineTo方法,看你自己的习惯。

为了做出一个外观良好的曲线图,我参考了两个开源代码,第一个的曲线图绘制限制较多,使用范围太窄,但是有数据变化时的动画效果。第二个的适用范围很广,他能根据数据集合自动计算横纵坐标的个数,在canvas上单元格的距离,只需输入坐标点就能自动建立坐标体系绘制曲线,但是没有动画效果。
先讲第一个LineView。

LineView的demo可以在这里下载,lineview其实只是github项目的一部分,我是将其提取出来了的,个人觉得他的其他部分没有参考价值。作者好像是个韩国人。

LineView的曲线绘制没有什么可取的部分,我想学习的是他实现动画效果的方法,设计的很好,但具体实现还需要改进,让动画更流畅。

Lineview的调用方法:
在xml中添加lineview控件
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView"
android:layout_alignParentRight="true"

android:layout_above="@+id/line_button">
<view
android:layout_width="wrap_content"
android:layout_height="200dp"
class="com.example.widget.LineView"
android:id="@+id/line_view"/>
</HorizontalScrollView>
在activity代码中获取lineview对象:
finalLineView lineView = (LineView)findViewById(R.id.line_view);

添加横坐标:
int randomint = 9;
ArrayList<String>test =newArrayList<String>();
for (int i=0;i<randomint; i++){
test.add(String.valueOf(i+1));
}
lineView.setBottomTextList(test);
允许绘制坐标点:
lineView.setDrawDotLine(true);
lineView.setShowPopup(LineView.SHOW_POPUPS_NONE);

ArrayList<Integer> dataList = newArrayList<Integer>();
intrandom = (int)(Math.random()*9+1);
for (int i=0;i<randomint; i++){
dataList.add((int)(Math.random()*random));
}
添加纵坐标的值:
ArrayList<ArrayList<Integer>>dataLists = newArrayList<ArrayList<Integer>>();
dataLists.add(dataList);
lineView.setDataList(dataLists);
从其用法中可以看出,lineview需要提前设定横坐标的范围,而且纵坐标的值必须和lineView.setBottomTextList(test)中添加的值一一对应(读lineview源码可以知道),使用起来很不方便,我觉得作者仅仅是做出了一条曲线而已,而不太关注是否有用。和很多曲线图的开源代码一样lineview允许一次绘制几根颜色不同的曲线。
只需在上面的代码中为dataLists再添加一个list成员就行。

‘叁’ android怎么让折线图上方显示数字

要在折线图上方显示数字,可以采取直接在折线图旁边标注数字的方法。首先,创建XYSeries对象,用于提供绘制点集合的数据。根据每条线的名称创建XYSeries对象,将所有的坐标加入这个集合,例如:series.add(xV[k], yV[k]);。然后,创建XYMultipleSeriesDataset对象,用于保存点集数据,包括每条曲线的X,Y坐标。使用dataset.addSeries(series);将XYSeries对象加入到XYMultipleSeriesDataset中。

接着,定义每条曲线的颜色,如int[] colors = new int[] {Color.BLUE, Color.GREEN};。同时,定义每条曲线的点的形状,例如PointStyle[] styles = new PointStyle[] {PointStyle.CIRCLE, PointStyle.DIAMOND};。将XYSeriesRenderer对象封装在XYMultipleSeriesRenderer对象中,设置曲线的格式,包括颜色,值的范围,点和线的形状等,使用XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setPointStyle(styles[i]); r.setFillPoints(fill);进行配置,再将XYSeriesRenderer对象加入到XYMultipleSeriesRenderer中。

设置折线图的名称,坐标轴的名称,坐标轴的起点重点,坐标轴的颜色,坐标轴上数字的颜色,使用setChartSettings(renderer, "Line Chart Demo", "X", "Y", -1, 12, 0, 35, Color.WHITE, Color.WHITE);进行配置。

最后,通过View chart = ChartFactory.getLineChartView(this, dataset, renderer); setContentView(chart);来显示折线图。

阅读全文

与android坐标轴相关的资料

热点内容
华为手机文件夹使用教程 浏览:996
linux无法sftp 浏览:711
微信多商户商城源码 浏览:217
pdf文件微信电脑版 浏览:503
python命令行打开文件 浏览:67
appium测试android 浏览:862
可逆加密是什么意思 浏览:360
安卓复制电话号码如何不带空格 浏览:605
苹果怎么下载千寻时光app 浏览:312
数控编程r是什么意思 浏览:185
ljk文件夹图片 浏览:379
bollexpma公式源码 浏览:709
objectivec算法 浏览:821
授衔命令 浏览:739
做安卓app需要学习什么 浏览:28
androidgis开源 浏览:791
机关写作pdf 浏览:676
香港微软云服务器怎么购买 浏览:1000
江森ddc控制器编程 浏览:682
数据架构源码大全 浏览:428