Что я сделал: Я пытаюсь ознакомиться (я использую android studio 3.5) с XYPlot, следуя этому примеру. В итоге я получил этот график ниже. Я попытался отрегулировать поля макета, но результат был таким же.
Наблюдение:
То, что я ищу: Я хочу настроить площадь участка на показать всю информацию. Здесь показано, как настроить график, чтобы отображать легенду и левые поля без отсечения.
main_activity. xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.androidplot.xy.XYPlot
android:id="@+id/mySimpleXYPlot"
android:layout_width="fill_parent"
android:layout_height="527dp"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:layout_marginRight="10px" />
</LinearLayout>
**main activity:**
package com.example.plot_testmy2;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import com.androidplot.Plot;
import com.androidplot.xy.LineAndPointFormatter;
import com.androidplot.xy.SimpleXYSeries;
import com.androidplot.xy.XYPlot;
import com.androidplot.xy.XYSeries;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
private XYPlot plot;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initialize our XYPlot reference:
plot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
// add a new series
XYSeries mySeries = new SimpleXYSeries(
Arrays.asList(10, 25, 55, 2, 80, 30, 99, 0, 44, 6),
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "series1");
plot.addSeries(mySeries, new LineAndPointFormatter(
getApplicationContext(), R.xml.f1));
/*commented
// reposition the domain label to look a little cleaner:
plot.position(plot.getDomainLabelWidget(), // the widget to position
45, // x position value, in this case 45 pixels
XLayoutStyle.ABSOLUTE_FROM_LEFT, // how the x position value is applied, in this case from the left
0, // y position value
YLayoutStyle.ABSOLUTE_FROM_BOTTOM, // how the y position is applied, in this case from the bottom
AnchorPosition.LEFT_BOTTOM); // point to use as the origin of the widget being positioned
*/
plot.centerOnRangeOrigin(60);
plot.centerOnDomainOrigin(5);
plot.setTitle("Test plot");
}
private class RELATIVE_TO_CENTER {
}
}
Попытки: Я смог настроить внешнюю границу с помощью приведенных ниже команд, но положение легенды осталось прежним. т.е. обрезается.
plot.getGraph().setMarginRight(40);
plot.getGraph().setMarginBottom(100);
Буду очень признателен за любые предложения, например, какое свойство я хочу использовать, чтобы избежать отсечения. Спасибо!