扇形统计图,如何在ppt中画扇形统计图

问题:怎么样在ppt中画扇形计算图?

window.onload=function() {

亚洲城在线娱乐城 1

世家好,前日我们一同来做个扇形计算图,近年来本人在自定义view方面照旧2个小白,如有错误的地点,请大家立马提议,大家一齐成长。

回答:可以在excel中创建好后复制到ppt中

var data=[0.2,0.4,0.1,0.2,0.1]亚洲城在线娱乐城 ,;//三个扇形的占比

扇形统计图,如何在ppt中画扇形统计图。night_rain.png

国际惯例,先上UI妹子做的成效图:

UI制图.png

回答:① 、点插入菜单——图表;

var
dataColor=[“#F8ACAC”,’#9185F8′,’#FD7ADF’,’#65E0F9′,’#6EF668′];//多个扇形的水彩

Android
开发中不可防止的会有部分总计的必要,为了酬答风谲云诡的须求,作为大家开发者就需求学会运用Android揭露给大家的接口,来绘制大家和好的View;

在上大家温馨绘制的职能图:

效果图.png

效果图1.png

此处,大家就要一步一步的去落到实处它了!!!

贰 、采取饼图,选取之中一种饼图样式,点明确。

var angleStart=0,angleEnd,angle;

率先继承View

    //用户数据
    private List<Integer> mNumbers = new ArrayList<>();
    //用户指定的颜色
    private List<Integer> mColors = new ArrayList<>();
    //用户指定的提示内容
    private List<String> hintContents = new ArrayList<>();
    //用户指定文字的颜色
    private int textColor = Color.parseColor("#000000");
    //用户指定线条的颜色
    private int lineColor = Color.parseColor("#000000");
    //用户数据的总数
    private int sum = 0;
    //控件的高度
    private int mMeasuredHeight;
    //控件的宽度
    private int mMeasuredWidth;
    //中心点坐标
    private float cirX;
    private float cirY;

public class StatisticsCircle extends View {

    public StatisticsCircle(Context context) {
        super(context);
    }

    public StatisticsCircle(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initPaint();
    }

    public StatisticsCircle(Context context, AttributeSet attrs) {
        super(context, attrs);
        initPaint();
    }
}

思路

1.自定义属性。
2.测量宽和高(规定我们所需要的区域)。
3.制图(绘制扇形、绘制扇形上的线段、绘制文本)。

下边大家就依据上述二个步骤去贯彻它。

回答:插入饼图即可

var Q3Canvas=document.getElementById(‘Q3-canvas’);

早先化画笔

既然要绘制自个儿的view,画笔是不可或缺的

    /**
     * 初始化画笔
     */
    private void initPaint() {
        initPicPaint();
        initLinePaint();
        initTextPaint();
    }

    /**
     * 绘制文字画笔
     */
    private void initTextPaint() {
        mTextPaint = new Paint();
        //设置抗锯齿
        mTextPaint.setAntiAlias(true);
        //图像抖动处理
        mTextPaint.setDither(true);
        //填充和描边
        mTextPaint.setStyle(Paint.Style.FILL_AND_STROKE);
        //设置线和文字的颜色
        mTextPaint.setColor(textColor);
        //设置文字的大小
        mTextPaint.setTextSize(CommonUtil.getConverUtil().converSp2Px(10));
    }

    /**
     * 绘制直线画笔
     */
    private void initLinePaint() {
        mLinPaint = new Paint();
        mLinPaint.setAntiAlias(true);
        mLinPaint.setDither(true);
        mLinPaint.setStyle(Paint.Style.FILL_AND_STROKE);
        //设置画笔的宽度
        mLinPaint.setStrokeWidth(CommonUtil.getConverUtil().convertDp2Px(1));
        //设置画笔的颜色
        mLinPaint.setColor(lineColor);
    }

    /**
     * 绘制弧形的画笔
     */
    private void initPicPaint() {
        mPicPaint = new Paint();
        //抗锯齿
        mPicPaint.setAntiAlias(true);
        //抖动处理
        mPicPaint.setDither(true);
        //填充和描边
        mPicPaint.setStyle(Paint.Style.FILL_AND_STROKE);
    }

1.自定义属性

在value文件夹上边新建attrs.xml

<resources>
    <declare-styleable name="CircleView">
        <!--字体大小-->
        <attr name="circle_text_size" format="dimension"></attr>
        <!--同心圆之间的距离-->
        <attr name="concentric_circle_space" format="dimension"></attr>
        <!--外圈和屏幕直接的距离-->
        <attr name="out_screen_space" format="dimension"></attr>
        <!--外圈画笔宽度-->
        <attr name="out_paint_width" format="dimension"></attr>

    </declare-styleable>


</resources>

接下来在重写的构造方法里面去取得我们自定义的天性并且给定他们开端值。

        TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.CircleView);
        textSize=array.getDimension(R.styleable.CircleView_circle_text_size,
                        dip2px(context, 14));
        concentricCircleSpace=array.getDimension(R.styleable.CircleView_concentric_circle_space,
                dip2px(context, 120));
        outScreenSpace=array.getDimension(R.styleable.CircleView_out_screen_space,
                dip2px(context, 110));
        outPaintWidth=array.getDimension(R.styleable.CircleView_out_paint_width,
                dip2px(context, 2));
        array.recycle();


        /**
         * 初始化数据
         */

        //外层弧
        mPaintOut = new Paint();
        mPaintOut.setAntiAlias(true);
        mPaintOut.setColor(getResources().getColor(R.color.gray));
        mPaintOut.setStyle(Paint.Style.STROKE);
        mPaintOut.setStrokeCap(Paint.Cap.ROUND);
        mPaintOut.setStrokeWidth(outPaintWidth);

        //内部扇形
        mPaintCurrent = new Paint();
        mPaintCurrent.setAntiAlias(true);
        //设置为填充
        mPaintCurrent.setStyle(Paint.Style.FILL);
        mPaintCurrent.setStrokeCap(Paint.Cap.ROUND);

        //字体
        mPaintText = new Paint();
        mPaintText.setAntiAlias(true);
        mPaintText.setStyle(Paint.Style.STROKE);
        mPaintText.setTextSize(textSize);