android图表视图y轴数被删除

Noa*_*uma 6 java android-graphview android-studio

当试图在android studio中创建一个带有图形视图库的折线图时,垂直线上的数字部分正在被删除.有人知道如何解决这个问题吗?

<com.jjoe64.graphview.GraphView
            android:layout_width="300dp"
            android:layout_height="200dip"
            android:id="@+id/graph"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_gravity="center_horizontal"
            android:nestedScrollingEnabled="false" />

final GraphView graph = (GraphView)findViewById(R.id.graph);
final LineGraphSeries<DataPoint> graphSeries = new LineGraphSeries<DataPoint>(new DataPoint[] { 
    }); // the points are added progressively`
Run Code Online (Sandbox Code Playgroud)

小智 5

我遇到过同样的问题.我目前发现的修复是在与图形关联的GridLabelRenderer中设置填充:

GraphView gv = (GraphView) findViewById(R.id.graph);
GridLabelRenderer glr = gv.getGridLabelRenderer();
glr.setPadding(32); // should allow for 3 digits to fit on screen
Run Code Online (Sandbox Code Playgroud)

据我了解,graphview图形默认具有全屏宽度,因此它被Android app(16dp)的默认填充所截断.在GridLabelRenderer中设置此填充值会为图形的边缘添加更多填充,从而减少图形的实际图形区域,但允许更多的空间用于数字.

作为参考,与GridLabelRenderer关联的默认填充值为20.

我想有一个更优雅的解决方案,但这是我能想到的.希望这可以帮助任何提出相同问题的人.


小智 1

也许应该是

android:layout_height="200dp"
Run Code Online (Sandbox Code Playgroud)

反而。最好的是,您可以指定

graph.getViewport().setMinY(0.0);
graph.getViewport().setMaxY(100.0);
Run Code Online (Sandbox Code Playgroud)

只是我的 2 美分:)