java - 图表和图例之间的空间太大,x 标签也会被切断

标签 java android bar-chart legend mpandroidchart

x 标签的名称太长,无法按原样显示,因此我决定将它们旋转 -45 度xAxis.setLabelRotationAngle(-45);

最终结果如下图所示。正如您所看到的,最后一个 x 标签被切断...而且图形和图例之间的空间太大。

相关代码部分:

BarData data = new BarData(arBdataSet);
data.setValueTextSize(12f);

float groupSpace = 0.02f;
float barSpace = 0.01f;
float barWidth=(1-groupSpace-(barSpace*intemInGroups))/intemInGroups;

data.setBarWidth(barWidth);
Legend leg=barChart.getLegend();
leg.setEnabled(true);
leg.setCustom(lear);
leg.setWordWrapEnabled(true);

barChart.setVisibility(View.VISIBLE);
barChart.setData(data);

YAxis leftAxis = barChart.getAxisLeft();
leftAxis.setValueFormatter(new MyGraphValFormatter(getResources()));
leftAxis.setSpaceTop(1f);
leftAxis.setAxisMinimum(0f);

XAxis xaPc=barChart.getXAxis();
xaPc.setLabelRotationAngle(-45);
xaPc.setPosition(XAxis.XAxisPosition.TOP);
xaPc.setGranularity(1f);

xaPc.setValueFormatter(new IAxisValueFormatter() {

   @Override
   public String getFormattedValue(float value, AxisBase axis) {
       int val=opeHel.adjustNumberToFitArrayList((int)value,xLabelNames);
       return xLabelNames.get(val);
   }

});

xaPc.setCenterAxisLabels(true);

barChart.getXAxis().setAxisMinimum(0);
barChart.getXAxis().setAxisMaximum(0 + barChart.getBarData().getGroupWidth(groupSpace, barSpace) * xLabelNames.size());
barChart.groupBars(0, groupSpace, barSpace);
barChart.getDescription().setEnabled(false);

barChart.setFitBars(true);
barChart.invalidate();

Extra space between graph and legend

问题:

  • 如何删除图形和图例之间的额外空间(我希望实现图形占用尽可能多的空间,当然,图例必须可见......)?
  • 如何防止最后一个 x 标签不会被切断(当然不删除它)?

最佳答案

我认为它会自动添加偏移,因为您旋转了标签。也许它在新版本中已修复。如果没有,则使用它:

setExtraOffsets(0f, 0f, 0f, 0f)

关于java - 图表和图例之间的空间太大,x 标签也会被切断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48973988/

相关文章:

java - 使用 putAll() 复制树状图的 Java 树状图

java - 使用 JSF 自动完成 Eclipse xhtml

java - 如何将此自定义 ListView ArrayAdapter 连接在一起?

javascript - 在 D3 中 append 堆叠条形图和另一个条形图

java - 无法从 native 切换到 WEBVIEW_chrome,显示异常 : io. appium.java_client.NoSuchContextException

java - GWT开发模式错误

android - 使用 "if (convertView == null)"时 GridView 和图标困惑

android - 如何将解析后的 xml 文件存储到 Android 中的 sqlite 数据库中?

Java FX - BarChart动态添加的内容破坏了布局

android - MPAndroidChart 值与图例相交并从条形图上方删除 y 值