Android MPAndroidChart图表高度

Android MPAndroidChart图表高度,android,height,mpandroidchart,Android,Height,Mpandroidchart,我正在使用MPAndroidChart库绘制图表,但我无法获得正确的高度。不管我把它放在什么值上,它仍然是一个非常压缩的、无效的图表高度 你能帮忙吗 现在图表: 这是我的.xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="ma

我正在使用MPAndroidChart库绘制图表,但我无法获得正确的高度。不管我把它放在什么值上,它仍然是一个非常压缩的、无效的图表高度

你能帮忙吗

现在图表:

这是我的.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="it.bitrack.fabio.bitrack.AssetView"
    android:id="@+id/assetView_relative_layout"
    android:layout_marginTop="60dp">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true">

            <LinearLayout
                android:id="@+id/pressureLinearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    android:text="Pressure"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textStyle="bold|italic"
                    android:id="@+id/textView6"
                    android:padding="10dp" />

                <com.github.mikephil.charting.charts.LineChart
                    android:id="@+id/pressureLineChart"
                    android:layout_width="match_parent"
                    android:layout_height="250dp"
                    android:padding="10dp" />

                <TextView
                    android:layout_width="match_parent"
                    android:id="@+id/pressureSelectedTextView"
                    android:layout_height="wrap_content"
                    android:text="Nothing selected"
                    android:padding="10dp" />

            </LinearLayout>

        </LinearLayout>
    </ScrollView>

</RelativeLayout>

这是我的图表:

final ArrayList<Entry> lineEntries = new ArrayList<>();


            for (Asset a: assetList) {

                lineEntries.add(new Entry((epoch.getEpoch(a.datetime) - EPOCH_OFFSET), a.pressure));

                Log.i("BiTrack(adding)", epoch.getEpoch(a.datetime) + " " + a.datetime);

            }

            //line chart data
            LineDataSet lineDataSet = new LineDataSet(lineEntries, "Pressure");
            lineDataSet.setValueTextSize(CHART_VALUE_TEXT_SIZE);

            ArrayList<ILineDataSet> lineDataSets = new ArrayList<>();
            lineDataSets.add(lineDataSet);

            LineData lineData = new LineData(lineDataSets);
            pressureLineChartLayout.setData(lineData);

            Description d = new Description();
            d.setText(spinner.getSelectedItem().toString());

            pressureLineChartLayout.setDescription(d);
            pressureLineChartLayout.setMinimumHeight(250);
            pressureLineChartLayout.setExtraBottomOffset(50f);

            XAxis xAxis = pressureLineChartLayout.getXAxis();
            xAxis.setLabelRotationAngle(45f);
            xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

            xAxis.setValueFormatter(new IAxisValueFormatter() {

                @Override
                public String getFormattedValue(float value, AxisBase axis) {

                    return epoch.getDatetimeNoYear(((long) value) + EPOCH_OFFSET);

                }
            });

            pressureLineChartLayout.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
                @Override
                public void onValueSelected(Entry entry, Highlight highlight) {
                    //display msg when value selected
                    if (entry == null)
                        return;
//                Toast.makeText(context, epoch.getDatetime((int) entry.getX()), Toast.LENGTH_SHORT).show();
                    pressureSelectedTextView.setText("Date: " + epoch.getDatetime(((long) entry.getX()) + EPOCH_OFFSET) + ", Pressure: " + entry.getY() + " mbar");
                }

                @Override
                public void onNothingSelected() {
                    pressureSelectedTextView.setText("Nothing selected");
                }
            });

            pressureLineChartLayout.notifyDataSetChanged();
            pressureLineChartLayout.invalidate();

            pressureLinearLayout.setVisibility(getView().VISIBLE);
        }
final ArrayList lineEntries=new ArrayList();
对于(资产a:资产列表){
lineEntries.add(新条目((epoch.getEpoch(a.datetime)-epoch_偏移量),a.pressure));
Log.i(“BiTrack(adding)”,epoch.getEpoch(a.datetime)+“+a.datetime);
}
//折线图数据
LineDataSet LineDataSet=新的LineDataSet(lineEntries,“压力”);
lineDataSet.setValueTextSize(图表值文本大小);
ArrayList lineDataSets=新的ArrayList();
添加(lineDataSet);
LineData LineData=新的LineData(LineData集);
pressureLineChartLayout.setData(线路数据);
描述d=新描述();
d、 setText(spinner.getSelectedItem().toString());
压力管路布置图。设置说明(d);
压力容器布局。设置最小高度(250);
压力容器布局。设置底部外偏移(50f);
XAxis XAxis=pressureLineChartLayout.getXAxis();
xAxis.setLabelRotationAngle(45f);
设置位置(xAxis.XAxisPosition.BOTTOM);
setValueFormatter(新的IAxisValueFormatter(){
@凌驾
公共字符串getFormattedValue(浮点值,AxisBase轴){
返回历元.getDatetimeNoYear((长)值)+历元偏移量;
}
});
pressureLineChartLayout.setOnChartValueSelectedListener(新的OnChartValueSelectedListener(){
@凌驾
public void onValueSelected(条目,高亮显示){
//选择值时显示消息
if(条目==null)
返回;
//Toast.makeText(context,epoch.getDatetime((int)entry.getX()),Toast.LENGTH_SHORT.show();
压力selectedtextview.setText(“日期:+epoch.getDatetime(((长)entry.getX())+epoch_OFFSET)+”,压力:“+entry.getY()+”mbar”);
}
@凌驾
不公开无效已选(){
pressureSelectedTextView.setText(“未选择任何内容”);
}
});
pressureLineChartLayout.notifyDataSetChanged();
pressureLineChartLayout.invalidate();
PressureLineEarlayout.setVisibility(getView().VISIBLE);
}

我可以通过删除
pressureLineChartLayout.setMinimumHeight
属性并将
pressureLineChartLayout.setExtraBottomOffset
设置为
-50
而不是
50
使其按我想要的方式工作

这两件事产生了魔力——别问我为什么