williamchart 是一个Android的库来创建图表。
是一个相对来说轻量级的Charts库。分为线性 柱形,饼状。他们全部集成与ChartView
ChartView 属性
添加数据
chartView.addData(set)
chartView.addData(ArrayList<set>)
展示
chart.show(opt:index)
取消展示
chart.dismiss(opt:index)
更新数据
chart.updateValues(index, float[])
chart.notifyDataUpdate()
自定义样式:
xy轴的显示
chart.setAxisX(boolean)
chart.setAxisY(boolean)
轴
-
Thickness -厚度
chart:chart_axisThickness="dp"
chart.setAxisThickness(dimen)
-
Spacing - 这两个边界间距和外边框的间距。
chart:chart_axisBorderSpacing="dp"
chart.setBorderSpacing(dimen)
chart:chart_axisTopSpacing="dp"
chart.setTopSpacing(dimen)
-
Color
chart:chart_axisColor="color"
chart.setAxisColor(color)
-
Step - 刻度值
chart.setStep(integer)
-
Limits -限定轴的最大值和最小值。
-
chart.setAxisBorderValues(int, int, int)
虚线格子布局
chart.setGrid(GridType.FULL/HORIZONTAL/VERTICAL, paint)
额定水平线-沿着绘制全图二水平线。为了产生单线,开始和结束的值将是相等的。
chart.setValueThreshold(float startValue, float endValue, Paint paint)
-
Labels
chart.setYLabels(LabelPosition.NONE/OUTSIDE/INSIDE)
chart.setXLabels(LabelPosition.NONE/OUTSIDE/INSIDE)
-
Size
chart:chart_fontSize="px"
chart.setFontSize(integer)
-
Typeface
chart:chart_typeface="typeface"
chart.setTypeface(typeface)
-
Color
chart:chart_labelColor="color"
chart.setLabelsColor(color)
-
Format
chart.setLabelsFormat(DecimalFormat)
-
Spacing - Set spacing between Labels and Axis. Will be applied to both X and Y.
chart.setAxisLabelsSpacing(float)
-
-
Shadow - Configure the shadow of your elements (e.g. bars, points, bubbles, lines, etc).
chart:chart_shadowDx="dp"
chart:chart_shadowDy="dp"
chart:chart_shadowRadius="dp"
chart:chart_shadowColor="color"
Line Chart(线性表)
XML布局:
<com.db.chart.view.LineChartView xmlns:chart="http://schemas.android.com/apk/res-auto" android:id="@+id/linechart" android:layout_width="match_parent" android:layout_height="100dp"/>
添加数据集:
数据集是有LineSet 承载的。承载的对象是Point
LineSet dataset = new LineSet(String[] labels, Float[] values); //新建承载项
dataset.addPoint(new Point(string, float))//添加Point
dataset.addPoint(string, float)//
-
Line
-
Type
dataset.setDashed(intervals)
dataset.setSmooth(boolean)
-
Thickness
dataset.setThickness(dimen)
-
Color
dataset.setColor(color)
-
Begin/End
dataset.beginAt(index)
dataset.endAt(index)
-
-
Fill
dataset.setFill(color)
dataset.setGradientFill(color[], float[])
来看代码:
chartView.reset();
LineSet data=newLineSet(mLabels,mValues[0]);
// data.setColor(Color.parseColor("#758cbb"))
//// .setFill(Color.parseColor("#2d374c"))
//// .setDotsColor(Color.parseColor("#758cbb"))
// .setThickness(4)
// .setDashed(new float[]{10f,10f})
// .beginAt(5);
// chartView.addData(data);
// data = new LineSet(mLabels, mValues[0]);
data.setColor(Color.parseColor("#51BDED"))
// .setFill(Color.parseColor("#2d374c"))//折现下面的颜色
// .setDotsColor(Color.parseColor("#ffc755"))//点的颜色
.setThickness(4)//限制线的厚度
// .endAt(6)
;
chartView.addData(data);
Paint gridPaint =newPaint();
gridPaint.setColor(Color.parseColor("#c1c1c1"));
gridPaint.setStyle(Paint.Style.STROKE);
gridPaint.setAntiAlias(true);
gridPaint.setPathEffect(newDashPathEffect(newfloat[]{10,10},0));//虚线设置
gridPaint.setStrokeWidth(Tools.fromDpToPx(.75f));
chartView.setBorderSpacing(Tools.fromDpToPx(15))
.setAxisBorderValues(pricemin, priceMax,4)//Y周的密度
.setGrid(ChartView.GridType.HORIZONTAL,4,1, gridPaint)//虚线的走势(XY)和条数
.setYLabels(AxisController.LabelPosition.OUTSIDE)
.setLabelsColor(Color.parseColor("#858585"))
// .setXAxis(false)
// .setYAxis(false)
;
chartView.show();
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于