Java Code Examples for com.github.mikephil.charting.components.XAxis#setAvoidFirstLastClipping()
The following examples show how to use
com.github.mikephil.charting.components.XAxis#setAvoidFirstLastClipping() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ChartBaseManager.java From react-native-mp-android-chart with MIT License | 6 votes |
/** * xAxis config details: https://github.com/PhilJay/MPAndroidChart/wiki/XAxis */ @ReactProp(name = "xAxis") public void setXAxis(Chart chart, ReadableMap propMap) { XAxis axis = chart.getXAxis(); setCommonAxisConfig(chart, axis, propMap); if (BridgeUtils.validate(propMap, ReadableType.Number, "labelsToSkip")) { axis.setLabelsToSkip(propMap.getInt("labelsToSkip")); } if (BridgeUtils.validate(propMap, ReadableType.Boolean, "avoidFirstLastClipping")) { axis.setAvoidFirstLastClipping(propMap.getBoolean("avoidFirstLastClipping")); } if (BridgeUtils.validate(propMap, ReadableType.Number, "spaceBetweenLabels")) { axis.setSpaceBetweenLabels(propMap.getInt("spaceBetweenLabels")); } if (BridgeUtils.validate(propMap, ReadableType.String, "position")) { axis.setPosition(XAxisPosition.valueOf(propMap.getString("position"))); } }
Example 2
Source File: DrawChartActivity.java From StockChart-MPAndroidChart with MIT License | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_draw_chart); setTitle("DrawChartActivity"); chart = findViewById(R.id.chart1); // listener for selecting and drawing chart.setOnChartValueSelectedListener(this); chart.setOnDrawListener(this); // if disabled, drawn data sets with the finger will not be automatically // finished // chart.setAutoFinish(true); chart.setDrawGridBackground(false); // add dummy-data to the chart initWithDummyData(); XAxis xl = chart.getXAxis(); xl.setTypeface(tfRegular); xl.setAvoidFirstLastClipping(true); YAxis yl = chart.getAxisLeft(); yl.setTypeface(tfRegular); chart.getLegend().setEnabled(false); // chart.setYRange(-40f, 40f, true); // call this to reset the changed y-range // chart.resetYRange(true); }
Example 3
Source File: ModelDetailActivity.java From Synapse with Apache License 2.0 | 5 votes |
private void setXAxis(int epochs) { final XAxis axis = mChart.getXAxis(); axis.setEnabled(true); axis.setAxisMinimum(1F); axis.setAxisMaximum(epochs); axis.setPosition(XAxis.XAxisPosition.BOTTOM); axis.setDrawAxisLine(true); axis.setDrawGridLines(false); axis.setGranularity(1F); axis.setAvoidFirstLastClipping(true); mChart.getAxisRight().setDrawAxisLine(true); }
Example 4
Source File: DrawChartActivity.java From Stayfit with Apache License 2.0 | 5 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_draw_chart); mChart = (LineChart) findViewById(R.id.chart1); // listener for selecting and drawing mChart.setOnChartValueSelectedListener(this); mChart.setOnDrawListener(this); // if disabled, drawn datasets with the finger will not be automatically // finished // mChart.setAutoFinish(true); mChart.setDrawGridBackground(false); // add dummy-data to the chart initWithDummyData(); Typeface tf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf"); XAxis xl = mChart.getXAxis(); xl.setTypeface(tf); xl.setAvoidFirstLastClipping(true); YAxis yl = mChart.getAxisLeft(); yl.setTypeface(tf); mChart.getLegend().setEnabled(false); // mChart.setYRange(-40f, 40f, true); // call this to reset the changed y-range // mChart.resetYRange(true); }
Example 5
Source File: TempChart.java From octoandroid with GNU General Public License v3.0 | 5 votes |
/** * By calling setData initializes the rest of the view * @param data the chart data */ @Override public void setData(LineData data) { super.setData(data); setOnChartValueSelectedListener(this); setDescription(""); setNoDataTextDescription("No chart data"); setTouchEnabled(true); setScaleEnabled(true); setDragEnabled(true); setDrawGridBackground(true); setPinchZoom(true); Legend legend = getLegend(); legend.setForm(Legend.LegendForm.CIRCLE); legend.setWordWrapEnabled(true); XAxis xAxis = getXAxis(); xAxis.setAvoidFirstLastClipping(true); xAxis.setPosition(XAxis.XAxisPosition.TOP); YAxis yAxisLeft = getAxisLeft(); yAxisLeft.setAxisMinValue(0); YAxis yAxisRight = getAxisRight(); yAxisRight.setEnabled(false); }
Example 6
Source File: RealtimeLineChartActivity.java From StockChart-MPAndroidChart with MIT License | 4 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_realtime_linechart); setTitle("RealtimeLineChartActivity"); chart = findViewById(R.id.chart1); chart.setOnChartValueSelectedListener(this); // enable description text chart.getDescription().setEnabled(true); // enable touch gestures chart.setTouchEnabled(true); // enable scaling and dragging chart.setDragEnabled(true); chart.setScaleEnabled(true); chart.setDrawGridBackground(false); // if disabled, scaling can be done on x- and y-axis separately chart.setPinchZoom(true); // set an alternative background color chart.setBackgroundColor(Color.LTGRAY); LineData data = new LineData(); data.setValueTextColor(Color.WHITE); // add empty data chart.setData(data); // get the legend (only possible after setting data) Legend l = chart.getLegend(); // modify the legend ... l.setForm(LegendForm.LINE); l.setTypeface(tfLight); l.setTextColor(Color.WHITE); XAxis xl = chart.getXAxis(); xl.setTypeface(tfLight); xl.setTextColor(Color.WHITE); xl.setDrawGridLines(false); xl.setAvoidFirstLastClipping(true); xl.setEnabled(true); YAxis leftAxis = chart.getAxisLeft(); leftAxis.setTypeface(tfLight); leftAxis.setTextColor(Color.WHITE); leftAxis.setAxisMaximum(100f); leftAxis.setAxisMinimum(0f); leftAxis.setDrawGridLines(true); YAxis rightAxis = chart.getAxisRight(); rightAxis.setEnabled(false); }
Example 7
Source File: InvertedLineChartActivity.java From StockChart-MPAndroidChart with MIT License | 4 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_linechart); setTitle("InvertedLineChartActivity"); tvX = findViewById(R.id.tvXMax); tvY = findViewById(R.id.tvYMax); seekBarX = findViewById(R.id.seekBar1); seekBarY = findViewById(R.id.seekBar2); seekBarY.setOnSeekBarChangeListener(this); seekBarX.setOnSeekBarChangeListener(this); chart = findViewById(R.id.chart1); chart.setOnChartValueSelectedListener(this); chart.setDrawGridBackground(false); // no description text chart.getDescription().setEnabled(false); // enable touch gestures chart.setTouchEnabled(true); // enable scaling and dragging chart.setDragEnabled(true); chart.setScaleEnabled(true); // if disabled, scaling can be done on x- and y-axis separately chart.setPinchZoom(true); // set an alternative background color // chart.setBackgroundColor(Color.GRAY); // create a custom MarkerView (extend MarkerView) and specify the layout // to use for it MyMarkerView mv = new MyMarkerView(this, R.layout.custom_marker_view); mv.setChartView(chart); // For bounds control chart.setMarker(mv); // Set the marker to the chart XAxis xl = chart.getXAxis(); xl.setAvoidFirstLastClipping(true); xl.setAxisMinimum(0f); YAxis leftAxis = chart.getAxisLeft(); leftAxis.setInverted(true); leftAxis.setAxisMinimum(0f); // this replaces setStartAtZero(true) YAxis rightAxis = chart.getAxisRight(); rightAxis.setEnabled(false); // add data seekBarX.setProgress(25); seekBarY.setProgress(50); // // restrain the maximum scale-out factor // chart.setScaleMinima(3f, 3f); // // // center the view to a specific position inside the chart // chart.centerViewPort(10, 50); // get the legend (only possible after setting data) Legend l = chart.getLegend(); // modify the legend ... l.setForm(LegendForm.LINE); // don't forget to refresh the drawing chart.invalidate(); }
Example 8
Source File: TimeLineView.java From android-kline with Apache License 2.0 | 4 votes |
public void initDatas(List<HisData>... hisDatas) { // 设置标签数量,并让标签居中显示 XAxis xAxis = mChartVolume.getXAxis(); xAxis.setLabelCount(hisDatas.length + 1, true); xAxis.setAvoidFirstLastClipping(false); xAxis.setCenterAxisLabels(true); xAxis.setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { value += 1; // 这里不设置+1会有bug if (mData.isEmpty()) { return ""; } if (value < 0) { value = 0; } if (value < mData.size()) { return DateUtils.formatDate(mData.get((int) value).getDate(), mDateFormat); } return ""; } }); mData.clear(); ArrayList<ILineDataSet> sets = new ArrayList<>(); ArrayList<IBarDataSet> barSets = new ArrayList<>(); for (List<HisData> hisData : hisDatas) { hisData = DataUtils.calculateHisData(hisData); ArrayList<Entry> priceEntries = new ArrayList<>(INIT_COUNT); ArrayList<Entry> aveEntries = new ArrayList<>(INIT_COUNT); ArrayList<Entry> paddingEntries = new ArrayList<>(INIT_COUNT); ArrayList<BarEntry> barPaddingEntries = new ArrayList<>(INIT_COUNT); ArrayList<BarEntry> barEntries = new ArrayList<>(INIT_COUNT); for (int i = 0; i < hisData.size(); i++) { HisData t = hisData.get(i); priceEntries.add(new Entry(i + mData.size(), (float) t.getClose())); aveEntries.add(new Entry(i + mData.size(), (float) t.getAvePrice())); barEntries.add(new BarEntry(i + mData.size(), (float) t.getVol(), t)); } if (!hisData.isEmpty() && hisData.size() < INIT_COUNT / hisDatas.length) { for (int i = hisData.size(); i < INIT_COUNT / hisDatas.length; i++) { paddingEntries.add(new Entry(i, (float) hisData.get(hisData.size() - 1).getClose())); barPaddingEntries.add(new BarEntry(i, (float) hisData.get(hisData.size() - 1).getClose())); } } sets.add(setLine(NORMAL_LINE_5DAY, priceEntries)); sets.add(setLine(AVE_LINE, aveEntries)); sets.add(setLine(INVISIABLE_LINE, paddingEntries)); barSets.add(setBar(barEntries, NORMAL_LINE)); barSets.add(setBar(barPaddingEntries, INVISIABLE_LINE)); barSets.add(setBar(barPaddingEntries, INVISIABLE_LINE)); mData.addAll(hisData); } LineData lineData = new LineData(sets); CombinedData combinedData = new CombinedData(); combinedData.setData(lineData); mChartPrice.setData(combinedData); mChartPrice.setVisibleXRange(MAX_COUNT, MIN_COUNT); mChartPrice.notifyDataSetChanged(); // mChartPrice.moveViewToX(combinedData.getEntryCount()); moveToLast(mChartVolume); BarData barData = new BarData(barSets); barData.setBarWidth(0.75f); CombinedData combinedData2 = new CombinedData(); combinedData2.setData(barData); mChartVolume.setData(combinedData2); mChartVolume.setVisibleXRange(MAX_COUNT, MIN_COUNT); mChartVolume.notifyDataSetChanged(); mChartVolume.moveViewToX(combinedData2.getEntryCount()); mChartPrice.getXAxis().setAxisMaximum(combinedData.getXMax() + 0.5f); mChartVolume.getXAxis().setAxisMaximum(mChartVolume.getData().getXMax() + 0.5f); mChartPrice.zoom(MAX_COUNT * 1f / INIT_COUNT, 0, 0, 0); mChartVolume.zoom(MAX_COUNT * 1f / INIT_COUNT, 0, 0, 0); setDescription(mChartVolume, "成交量 " + getLastData().getVol()); }
Example 9
Source File: BaseView.java From android-kline with Apache License 2.0 | 4 votes |
protected void initBottomChart(AppCombinedChart chart) { chart.setScaleEnabled(true); chart.setDrawBorders(false); chart.setBorderWidth(1); chart.setDragEnabled(true); chart.setScaleYEnabled(false); chart.setAutoScaleMinMaxEnabled(true); chart.setDragDecelerationEnabled(false); chart.setHighlightPerDragEnabled(false); Legend lineChartLegend = chart.getLegend(); lineChartLegend.setEnabled(false); XAxis xAxisVolume = chart.getXAxis(); xAxisVolume.setDrawLabels(true); xAxisVolume.setDrawAxisLine(false); xAxisVolume.setDrawGridLines(false); xAxisVolume.setTextColor(mAxisColor); xAxisVolume.setPosition(XAxis.XAxisPosition.BOTTOM); xAxisVolume.setLabelCount(3, true); xAxisVolume.setAvoidFirstLastClipping(true); xAxisVolume.setAxisMinimum(-0.5f); xAxisVolume.setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { if (mData.isEmpty()) { return ""; } if (value < 0) { value = 0; } if (value < mData.size()) { return DateUtils.formatDate(mData.get((int) value).getDate(), mDateFormat); } return ""; } }); YAxis axisLeftVolume = chart.getAxisLeft(); axisLeftVolume.setDrawLabels(true); axisLeftVolume.setDrawGridLines(false); axisLeftVolume.setLabelCount(3, true); axisLeftVolume.setDrawAxisLine(false); axisLeftVolume.setTextColor(mAxisColor); axisLeftVolume.setSpaceTop(10); axisLeftVolume.setSpaceBottom(0); axisLeftVolume.setPosition(YAxis.YAxisLabelPosition.INSIDE_CHART); /*axisLeftVolume.setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { String s; if (value > 10000) { s = (int) (value / 10000) + "w"; } else if (value > 1000) { s = (int) (value / 1000) + "k"; } else { s = (int) value + ""; } return String.format(Locale.getDefault(), "%1$5s", s); } }); */ Transformer leftYTransformer = chart.getRendererLeftYAxis().getTransformer(); ColorContentYAxisRenderer leftColorContentYAxisRenderer = new ColorContentYAxisRenderer(chart.getViewPortHandler(), chart.getAxisLeft(), leftYTransformer); leftColorContentYAxisRenderer.setLabelInContent(true); leftColorContentYAxisRenderer.setUseDefaultLabelXOffset(false); chart.setRendererLeftYAxis(leftColorContentYAxisRenderer); //右边y YAxis axisRightVolume = chart.getAxisRight(); axisRightVolume.setDrawLabels(false); axisRightVolume.setDrawGridLines(false); axisRightVolume.setDrawAxisLine(false); }
Example 10
Source File: RealtimeLineChartActivity.java From Stayfit with Apache License 2.0 | 4 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_realtime_linechart); mChart = (LineChart) findViewById(R.id.chart1); mChart.setOnChartValueSelectedListener(this); // no description text mChart.setDescription(""); mChart.setNoDataTextDescription("You need to provide data for the chart."); // enable touch gestures mChart.setTouchEnabled(true); // enable scaling and dragging mChart.setDragEnabled(true); mChart.setScaleEnabled(true); mChart.setDrawGridBackground(false); // if disabled, scaling can be done on x- and y-axis separately mChart.setPinchZoom(true); // set an alternative background color mChart.setBackgroundColor(Color.LTGRAY); LineData data = new LineData(); data.setValueTextColor(Color.WHITE); // add empty data mChart.setData(data); Typeface tf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf"); // get the legend (only possible after setting data) Legend l = mChart.getLegend(); // modify the legend ... // l.setPosition(LegendPosition.LEFT_OF_CHART); l.setForm(LegendForm.LINE); l.setTypeface(tf); l.setTextColor(Color.WHITE); XAxis xl = mChart.getXAxis(); xl.setTypeface(tf); xl.setTextColor(Color.WHITE); xl.setDrawGridLines(false); xl.setAvoidFirstLastClipping(true); xl.setSpaceBetweenLabels(5); xl.setEnabled(true); YAxis leftAxis = mChart.getAxisLeft(); leftAxis.setTypeface(tf); leftAxis.setTextColor(Color.WHITE); leftAxis.setAxisMaxValue(100f); leftAxis.setAxisMinValue(0f); leftAxis.setDrawGridLines(true); YAxis rightAxis = mChart.getAxisRight(); rightAxis.setEnabled(false); }
Example 11
Source File: InvertedLineChartActivity.java From Stayfit with Apache License 2.0 | 4 votes |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_linechart); tvX = (TextView) findViewById(R.id.tvXMax); tvY = (TextView) findViewById(R.id.tvYMax); mSeekBarX = (SeekBar) findViewById(R.id.seekBar1); mSeekBarY = (SeekBar) findViewById(R.id.seekBar2); mSeekBarX.setProgress(45); mSeekBarY.setProgress(100); mSeekBarY.setOnSeekBarChangeListener(this); mSeekBarX.setOnSeekBarChangeListener(this); mChart = (LineChart) findViewById(R.id.chart1); mChart.setOnChartValueSelectedListener(this); mChart.setDrawGridBackground(false); // no description text mChart.setDescription(""); // enable touch gestures mChart.setTouchEnabled(true); // enable scaling and dragging mChart.setDragEnabled(true); mChart.setScaleEnabled(true); // if disabled, scaling can be done on x- and y-axis separately mChart.setPinchZoom(true); // set an alternative background color // mChart.setBackgroundColor(Color.GRAY); // create a custom MarkerView (extend MarkerView) and specify the layout // to use for it MyMarkerView mv = new MyMarkerView(this, R.layout.custom_marker_view); // set the marker to the chart mChart.setMarkerView(mv); XAxis xl = mChart.getXAxis(); xl.setAvoidFirstLastClipping(true); YAxis leftAxis = mChart.getAxisLeft(); leftAxis.setInverted(true); leftAxis.setAxisMinValue(0f); // this replaces setStartAtZero(true) YAxis rightAxis = mChart.getAxisRight(); rightAxis.setEnabled(false); // add data setData(25, 50); // // restrain the maximum scale-out factor // mChart.setScaleMinima(3f, 3f); // // // center the view to a specific position inside the chart // mChart.centerViewPort(10, 50); // get the legend (only possible after setting data) Legend l = mChart.getLegend(); // modify the legend ... // l.setPosition(LegendPosition.LEFT_OF_CHART); l.setForm(LegendForm.LINE); // dont forget to refresh the drawing mChart.invalidate(); }
Example 12
Source File: MeasurementSpectrumFragment.java From NoiseCapture with GNU General Public License v3.0 | 4 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if(view == null) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.fragment_measurement_spectrum, container, false); BarChart sChart = (BarChart) view.findViewById(R.id.spectrumChart); sChart.setDrawBarShadow(false); sChart.setDescription(""); sChart.getLegend().setEnabled(false); sChart.setTouchEnabled(false); sChart.setPinchZoom(false); sChart.setDrawGridBackground(false); sChart.setMaxVisibleValueCount(0); sChart.setHorizontalScrollBarEnabled(false); sChart.setVerticalScrollBarEnabled(false); sChart.setNoDataTextDescription(getText(R.string.no_data_text_description).toString()); // XAxis parameters: XAxis xls = sChart.getXAxis(); xls.setPosition(XAxis.XAxisPosition.BOTTOM); xls.setDrawAxisLine(true); xls.setDrawGridLines(false); xls.setDrawLabels(true); xls.setTextColor(Color.WHITE); xls.setAvoidFirstLastClipping(false); // YAxis parameters (left): main axis for dB values representation YAxis yls = sChart.getAxisLeft(); yls.setDrawAxisLine(true); yls.setDrawGridLines(true); yls.setAxisMaxValue(100.f); yls.setAxisMinValue(0f); yls.setTextColor(Color.WHITE); yls.setGridColor(Color.WHITE); yls.setSpaceBottom(0); yls.setSpaceTop(0); yls.setValueFormatter(new SPLValueFormatter()); // YAxis parameters (right): no axis, hide all YAxis yrs = sChart.getAxisRight(); yrs.setEnabled(false); } return view; }