MPAndroidChart3.10中文文档完整版_第1页
MPAndroidChart3.10中文文档完整版_第2页
MPAndroidChart3.10中文文档完整版_第3页
MPAndroidChart3.10中文文档完整版_第4页
MPAndroidChart3.10中文文档完整版_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE10/MPAndroidChart3.10中文文档1首先,将此库的依赖项添加到项目中。如何执行此操作在此存储库的用法部分中进行了描述。GradleLineChart,BarChart,ScatterChart,CandleStickChart,PieChart,BubbleChartRadarChart,请在.xml中定义它:LineChart,Entry中具有x和y坐标的单个条目。其他图表类型(例如BarChart)为此目的使用其他类(例如BarEntryLineDataSet(或多个对象)LineData式和设置,请查看特定设置和样式Wiki页面。enabledenabledenabledenabledenabledenabled可以单独缩放x轴和y轴。enabledflingenabledcoef慢下降,例如,如果设置为0,它将立即停止。1是无效值,将自动转换为0.9999。publicinterfacepublicinterfaceOnChartGestureListenerCallbackswhenatouch-gesturehasstartedonthechart@param@paramvoidonChartGestureStart(MotionEventme,ChartTouchListener.ChartGestureCallbackswhenatouch-gesturehasendedonthechart(ACTION_UP,@param@paramvoidonChartGestureEnd(MotionEventme,ChartTouchListener.ChartGestureCallbackswhenthechartis@parampublicvoidonChartLongPressed(MotionEventCallbackswhenthechartisdouble-@parampublicvoidonChartDoubleTapped(MotionEventCallbackswhenthechartissingle-@parampublicvoidonChartSingleTapped(MotionEventCallbacksthenaflinggestureismadeonthe@param@param@param@parampublicvoidonChartFling(MotionEventme1,MotionEventme2,floatvelocityX,floatCallbackswhenthechartisscaled/zoomedviapinchzoom@param@paramscaleXscalefactoronthex-@paramscaleYscalefactoronthey-publicvoidonChartScale(MotionEventme,floatscaleX,floatCallbackswhenthechartismoved/translatedviadrag@param@paramdXtranslationdistanceonthex-@paramdYtranslationdistanceonthey-publicvoidonChartTranslate(MotionEventme,floatdX,float3enabledenableddistanceDpcallListenerx1dataSetIndexcallListener的值。提供null以撤消所有突出显示。布尔标志确定应该调用选择侦听器还是不调用选择侦听器。:突出显示给定getHighlighted(dataset-index这个Highlight类代表与高亮显示的条目相关的所有数据,比如高亮Entry对象本身,它所属的DataSetEntry对于一个即将被高亮的Entry。对于这个目的,本要闻类提供了两个构造函数:ChartHighlighter替换默认的highligher:setHighlighter(ChartHighlighterhighlighter):为图表设置一个自定义高亮对象处理所有的高亮触摸事件。您的自定义hignlighter对象需要扩展charthighlighter类4WikiAxisBaseclassXAxis(XAxis)YAxis(YAxis)v2.0.0轴enabledenabledenabledenabledmaxeetAxisMaximum(eetAxisMinimum(enabled:DeprecatedorsetAxisMaxalue(...enabledpercentpercentenabledfalse(trueposgranenabledcolorsizetfcolorcolorphase模式绘制,例如:喜欢这个 要格式化轴值,可以使用ValueFormatter类。一个详细的格式化轴值教程可以在此\h\hLimitLinesYAxisLimitLines制在水平方向上,在添加到XAxis时在垂直方向上绘制。这是您从轴添加和删除LimitLines的方法:llenabled序。如果将此值设置为true,则会在实际数据后面绘制LimitLines,否则将在前面绘制。默认值:类举个例子,在用户登录用的应用程序中,图表可能会显示各种血压测量结果。为了让用户知道超过140mmHg140LimitLine码。5、XLabelsLine-,Bar-,Scatter-,CandleStick-和RadarChart都有一个XAxis对象。anglepos:设置BOTH_SIDED,TOP_INSIDE或BOTTOM_INSIDE中选择。ExampleYAxis类(在早于2.0.0的版本中称为YLabels)是与垂直轴相关的所有内容的数据和信息容器。每个Line-,Bar-,ScatterCandleStickChartYAxisRadarChart有一个YAxis。默认情况下,图表的两个轴都已启用并将被绘制。publicAxisDependencygetAxisDependency()来确定这个轴所代表的是图表的哪Axis右YAxis以表示与左轴相同的比例。DataSet对象的AxisDependency来完成:enabledcolorYAxisyAxisYAxisyAxis=mChart.getAxisLeft();yAxis.setTypeface(...);//setadifferentfontyAxis.setTextSize(12f);//setthetextsizeyAxis.setAxisMinimum(0f);//startatzeroyAxis.setAxisMaximum(100f);//theaxismaximumis100yAxis.setValueFormatter(newMyValueFormatter());yAxis.setGranularity(1f);//interval1yAxis.setLabelCount(6,true);//force6labels//...and7publicvoidsetData(ChartDatadata){... ChartData(ChartData)类封装了图表渲染期间所需的所有数据和信息。对于每种类型的图表,都存在ChartData的不同子类(例如LineData,用于设置图表的数据。在构造函数中,您可以移交List<?将IDataSetLineData(ChartData)LineChart/**ListconstructorpublicLineData(List<ILineDataSet>sets){.../**ConstructorwithoneormultipleILineDataSetobjectspublicLineData(ILineDataSet...){...DataSetDataSet的一组条目(例如,Entry类。它被设计旨在逻辑上分离图表中的不同值组。对于每种类型的图表,继承自DataSet(例如LineDataSet)的不同对象,其允许特定样式。LineChart同的LineDataSet对象,每个对象包含四个值(每个季度一个。8LineDataSet那么如何设置LineDataSet对象呢?在查看构造函数(不同的构造函数可用)LineDataSetEntryListLineDataSetStringLegendLineData他LineDataSet对象中查找此LineDataSet。首先,创建持有您的值的Entry类型列表:Entryx(当然,这里可以使用循环,在这种情况下,循环的计数器变量可以是x轴上的索引。setAxisDependency(...建了一个IDataSets列表并构建了我们的ChartData对象:调用x轴添加更多描述性值(而不是不同季度的03之间的数字,我们可以通过使用BarChart,ScatterChart,BubbleChartCandleStickChartLineChart。一个特例是带有多个(分组)的条形BarChart,下面将对此进行说明。xLineChart数据。以未排序的方式添加条目可能会导致正确绘制,但也可能导致意外的行为。条目对象列表可以手动排序,也可以使用EntryXComparator进行排序。对BarChartLineChart(例如BarEntry而不是Entry。除此之外,BarChart还有不同的样式选择。BarEntryBarDataSet。请注意,第四个和第五个条目之间的x位置存在“2”的间隙。在此示例中,此间隙用于解释BarChart中柱的定位如何工作。本教程末尾的屏幕截图将显示给定数据的结果BarChart。BarDataBarEntry(中心)之间的x轴上留下了“1f”的空间。通过将条宽设置为0.9f,我们有效地在每个条之间创建0.1f的空间。setFitBars(true)x创建BarData对象后,我们将其设置为图表并刷新。结果应该看起来接近下面显示的结果:v3.0.0MPAndroidChartbar(x)或用户定义,这意味着用户可以通过更改x位置将条放置在他想要的任何位置。BarDataSet(库处理)组的情况下,条目的实际x位置无关紧要。基于条目列表中BarEntry的位置执行分组。在上面的代码片段中,BarDataSetBarChartgroupBars(...)方法执行两个BarDataSet对象的分组。该方法采用以下参数:1980”,groupSpace留下的空间,barSpace确定组中各个条之间的间距。基于这些参数,groupBars(...)方法将XAxis上每个条形的位置改变为分组外观,从而保留各个BarEntry对象的顺序。XAxisgroupBars(...)方法的情况下实现分组的BarChart。BarChartBarChartBarEntry条形,则必须使用BarEntry的不同构造函数:该以String参数用于提供切片的其他描述。请考虑以下示例PieChart设置:8、Setting从v1.4.0版本开始,不再需要(不建议使用)用于在以前的版本中设置颜色的ColorTemplate对象。Coloremplae.ORDOOOSLineDataSetLineDataSetsetComp1=newLineDataSet(valsComp1,"Company//setscolorsforthedataset,resolutionoftheresourcenametoa"real"colorisdoneinternallysetComp1.setColors(newint[]{R.color.red1,R.color.red2,R.color.red3,R.color.red4},Context);LineDataSetsetComp2=newLineDataSet(valsComp2,"Company2");setComp2.setColors(newint[]{R.color.green1,R.color.green2,R.color.green3,R.color.green4},Context);c:设置在此示的条目数高于colors数组的大小,就会重复使用颜色。您可以使用“newint[]{R.color.red,getesources(colorscolors数组的大小,就会重复使用颜色。在将它们添加到DataSet之前,请确保已准备好颜色(通getesources(getColor(...colors示的条目数高于colors数组的大小,就会重复使用颜色。在将它们添加到DataSet之前,请确保已getesources(getColor(...colorv1.6.2起可用-在v2.1.4(改进ValueFormatter,只需创建一个扩展它的新类,然后覆盖所需的任何功能。ValueFormatterValueFormatter(或轴标签)yString表示形式。创建ValueFormatter(publicclassMyValueFormatterpublicclassMyValueFormatterimplementsIValueFormatter{privateDecimalFormatmFormat;publicMyValueFormatter()mFormat=newDecimalFormat("###,###,##0.0");//useonepublicStringgetFormattedValue(floatvalue,Entryentry,intdataSetIndex,ViewPortHandlerviewPortHandler){//writeyourlogicreturnmFormat.format(value)+"$";//e.g.appendadollar-创建XAxis作数组索引。另外,您需要确保数组的长度与图表在XAxis上显示的值范围相对应。classMyXAxisFormatter:ValueFormatter()privatevaldays=arrayOf("Mo","Tu","Wed","Th","Fr","Sa","Su")overridefungetAxisLabel(value:Float,axis:AxisBase?):String{returndays.getOrNull(value.toInt())?:,“1.000.000.000的值将是例如“1吨”。PercentFormatter:用于在每个值后面显示“%”符号,带有1个十进制数字。对PieChart尤其有 ->50.0%10、GeneralChartSettings&Styling(inalidate(notifyDataSetChaed(: enabledcolor件中的.xml设置背景颜色。desccoloryttextenabledcolorenabledcolorwidth:以count11、特定图表设置和样式(SpecificChartSettings&个图表类型的特定设置。Line-,Bar-,Scatter-,Candle-和BubbleChartenabled用,则每当视口更改时,yxyenabledenabledenabled域,指示最大值。启用他的功能会使性能降低约40%。enabledenabledenabledenabled制,而不是以其原始值绘制。然后以百分比形式提供为ValueFormatter格式化的值。textpercentpercent孔半径,默认为50%percent半径的百分比表示(max=整个图表的半径,默认为55%5%coloralpha255maxanglePieChart,180f会产生一个半饼图。默认值:360f默认情况下,所有图表类型都支持图例,并且在为图表设置数据后将自动生成并绘制图例。图例通常由自动生成的图例包含的条目数取决于不同颜色(DataSet)DataSet标签。图例DataSetDataSet生成它们。如果一个数据集使用了多种颜色,则这些颜色将被分组,并且仅由(属于)一个标签来描述。enabledcolorsizetfenabledpos择RIGHT_OF_CHART,RIGHT_OF_CHART_CENTER,RIGHT_OF_CHART_INSIDE,BELOW_CHART_LEFT,BELOW_CHART_RIGHT,BELOW_CHART_CENTER或PieChart shapeDataSetSQUARE,CIRCLELINEsize:以spacespacesetWordWrapEnabled(booleanenabled:图例文字是否应该换行?/目前仅支持labels算(然后需要notifyDataSetChanged()再次自动计算图例)resetCustom(动计算标签(在调用notifyDataSetChanged()之后。labels(notifyDataSetChanged()以使更改生效)LegendLegendl=l.setFormSize(10f);//setthesizeofthelegendforms/shapesl.setForm(LegendForm.CIRCLE);//setwhattypeofform/shapeshouldbeusedl.setXEntrySpace(5f);//setthespacebetweenthelegendentriesonthex-axisl.setYEntrySpace(5f);//setthespacebetweenthelegendentriesonthey-//setcustomlabelsandl.setCustom(ColorTemplate.VORDIPLOM_COLORS,newString[]{"Set1","Set2","Set3","Set4","Set5"});//andmany13description.setPosition(floatx,floaty);1415、ModifyingtheLineChart,BarChart,ScatterChart和CandleStickChart。ChartViewPortHandler(没有图表提供的中间安全性。这仅适用于熟悉API的高级用户。maxXRange范围。如果这是例如设置为10,可以一次查看x轴上不超过10个值而无需滚动。minXRange围。如果这是例如如果设置为10,则在x轴上缩放最多不能超过10个。axisaxis)一次最大可见。您还需要提供此约束应适用的轴。setViewPortOffsets(floatleft,floattop,floatright,floatbottomViewPortresetViewortOffsets(bottomfitScreen(xalueaxis上的指定y值。axis到x轴上的指定x值,并将视口居中于提供的y轴上的指定y值(与setVisibleXRange(...)和axis到指定的x值和y值(与setVisibleXRange(...)和setVisibleYRange(...)结合使用。durationxxyyduration:这将以动画方式将当前视口的中心移动到指定的x值和y值(根据轴。注意:所有moveViewTo(...)方法将自动使图表重绘(刷新。无需进一步调用invalidate(zoomIn(焦中心的坐标(以像素为单位。请记住,1f的比例=无缩放。zoom(floatscaleX,floatscaleY,floatxValue,floatyValue,AxisDependencyaxis:按给ZoomingwithzoomAndCenterAnimated(floatscaleX,floatscaleY,floatxValue,floatyValue,durationFullchartchart.setData(...);//firstset//nowmodifychart.setVisibleXRangeMaximum(20);//allow20valuestobedisplayedatonceonthex-axis,notmorechart.moveViewToX(10);//settheleftedgeofthecharttox-index//moveViewToX(...)alsocalls16两者或x轴和y轴设置动画:durationMillisdurationMillisyDurationanimate(...(Android3.0(API11)Easing.EasingOption17.MarkerView(弹出视图)IMarkerIMarkerpublicpublicinterfaceIMarker@returnThedesired(general)offsetyouwishtheIMarkertohaveonthex-andByreturningx:-(width/2)youwillcentertheIMarkerByreturningy:-(height/2)youwillcentertheIMarkerMPPointF@returnTheoffsetfordrawingatthespecific`point`.ThisallowsconditionaladjustingoftheMarkerposition.Ifyouhavenoadjustmentstomake,return@paramposXThisistheXpositionatwhichthemarkerwantstobeYoucanadjusttheoffsetconditionallybasedonthis@paramposYThisistheXpositionatwhichthemarkerwantstobeYoucanadjusttheoffsetconditionallybasedonthisMPPointFgetOffsetForDrawingAtPos(floatposX,floatThismethodenablesaspecifiedcustomIMarkertoupdateit'scontenteverytimetheIMarkerisredrawn.@parame TheEntrytheIMarkerbelongsto.ThiscanalsobeanysubclassofEntry,likeBarEntryorCandleEntry,simplycastitat@paramhighlightThehighlightobjectcontainsinformationaboutthehighlightedvaluesuchasit'sdataset-index,theselectedrangeorstack-index(onlystackedbarvoidrefreshContent(Entrye,HighlightDrawstheIMarkeronthegivenpositiononthescreenwiththegivenCanvas@param@param@paramvoiddraw(Canvascanvas,floatposX,floatCreatinga除了实现IMarker接口之外,您还可以创建自己的类,并通过下面提到的预定义标记之一对其进行扩展。这IMarker的事情是重写refreshContent(...)方法以调整标记绘制的数据。一个简单的示例如下所示:并覆盖refreshContent(...)方法以调整标记数据。Legacyv3.0.0MarkerView息,请访问旧的MarkerView维基页面。18、ChartDataChartData(子类)LineData,BarData,...等等。它用于通过图表的setData(...)方法为Chart提供数据。colorcolorssizetffValueFormatter,在此处更多地在ValueFormatter上。enabled值-Getters/indexdataSetclearalues(enabledChartData对象和所有基础DataSet。enabledenabledDynamicnotifyDataChanged(19、ChartSpecific (ChartData子类wikiChartDataChartDataBarData(classpercent位。100=空格正好是一个条宽,默认值:80isGrouped(ScatterData(classgetGeaetShae(中的最大PieData(classgetDataSet(setBubbleData(class显示状态时围绕气泡的圆的宽度,以dp为单位。CombinedData(classsetData(...)方法为此对象提供数据。这仅用于20、TheDataSet的基类,如如,LineChart中特定行的值,或BarChart中特定条形组的值。Stylingcolorcolorssizetf:为此f:为此为ValueFormatter设置更多。enabled值-文本如果整个数据对象(不是数据集)ChartDataenabledenabledenabled21、DataSetclassesincolor(Colo.rgb(...(enabled个配置调用setDrawVerticalHighlightIndicator(...)和setDrawHorizontalHighlightIndicatorwidth:设置Line-&RadarDataSet(methodsonlyforLineDataSetandcoloralpha值(0-255dfilled设置为true,禁用此选项将提高性能。请注意,此方法使用canvas.clipPath(...)方法绘制填充区域。对于API级别<18(Android4.3)的设备,应关闭图表的硬件加速-请参见此处。默认值:LineDataSet(classsizeenabled绘制,默认为trueenabledin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论