安卓GraphView 2没有标签(Android GraphView 2 without labe

2019-09-27 05:47发布

目前我正在试图在Android应用程序中绘制图形。 我发现的库称为GraphView(http://www.jjoe64.com/p/graphview-library.html)。 我目前使用的版本2,这是可以在GitHub上。

绘制图表的作品真的很好。 要得到一个图形的代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Map<String,List<GraphEntry>> graphData = (...)

    if (graphData != null) {
        List<GraphEntry> entries = graphData.get("temperature");
        GraphView.GraphViewData[] data = new GraphView.GraphViewData[entries.size()];

        int i = 0;
        for (GraphEntry entry : entries) {
            data[i++] = new GraphView.GraphViewData(entry.getDate().getTime(), entry.getValue());
        }
        GraphView.GraphViewSeries graphViewSeries = new GraphView.GraphViewSeries("temperature", 0xffff0000, data);
        LineGraphView graphView = new LineGraphView(this, "temperature");
        graphView.addSeries(graphViewSeries);
        graphView.setShowLegend(true);

        LinearLayout graphLayout = (LinearLayout) findViewById(R.id.layout);
        graphLayout.addView(graphView);
    }
}

这将产生一个正常的曲线图。 不幸的是,各种标签的缺失。 该文件告诉了正常使用情况下,人们不必关心标签,作为库自动执行此操作。 我究竟做错了什么? 我只得到了普通图形,没有任何标签。

为完整性,我加入图形以线性布局。 适当布局文件有以下内容:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="fill_parent"
          android:padding="5dp"
          android:id="@+id/layout"
          android:orientation="vertical"
    ></LinearLayout>

所述GraphEntry类是仅与java.util.Date属性和一个双精度值属性的容器。

非常感谢您的帮助,

马蒂亚斯

Answer 1:

我切换到另一个图表引擎: AChartEngine 。 这一个工程开箱。



Answer 2:

我有同样的问题。 这可以通过从清单文件中删除以下行来解决。

 android:theme="@style/AppTheme"

我知道这是相当模糊,但对我的工作。 我不知道确切的原因,为什么会这样。 如果能跟大家遇到了更好的解决方案请分享。



Answer 3:

您应该使用从GitHub最新版本,并包含在您的项目。 这将允许您使用设置不同的颜色

graphView.getGraphViewStyle().setGridColor(Color.GREEN);
graphView.getGraphViewStyle().setHorizontalLabelsColor(Color.YELLOW);
graphView.getGraphViewStyle().setVerticalLabelsColor(Color.RED);


文章来源: Android GraphView 2 without labels