android - 在android中显示栏之间的空格

标签 android bar-chart

如何在android中提及条形图的条形之间的空格?

enter image description here 提前致谢!...

上面的图片会让你清楚我的疑问。即,。

蓝色条实际上不适合相应的 x 轴值,这里是 (Ord_1,Ord_2,Ord_3,Ord_4)。

我需要显示这些带有 x 轴值的条形。如何执行此操作?

请在下面找到我的来源

BarChart.java

public class BarChart extends Activity 
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    Intent intent = createIntent();
    startActivity(intent);
}

public Intent createIntent() 
{
    String[] titles = new String[] { "Profits per order", " " };

    List<double[]> values = new ArrayList<double[]>();

    values.add(new double[] { 6, 9, 21, 3 });
    values.add(new double[] { 0, 0, 0, 0});


    int[] colors = new int[] { Color.BLUE, Color.BLACK };

    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
    renderer.setOrientation(Orientation.HORIZONTAL);

    setChartSettings(renderer, "Profit of the year 2012", " ", " ", 0,30, 0,30, Color.GRAY, Color.LTGRAY);

    renderer.setXLabels(1);
    renderer.setYLabels(10);

    renderer.addXTextLabel(2.75, "Ord_1");
    renderer.addXTextLabel(6.75, "Ord_2");
    renderer.addXTextLabel(10.75, "Ord_3");
    renderer.addXTextLabel(14.75,"Ord_4");

    renderer.setBarSpacing(-1.75);

    int length = renderer.getSeriesRendererCount();

    for (int i = 0; i < length; i++) 
    {
      SimpleSeriesRenderer seriesRenderer = renderer.getSeriesRendererAt(i);
      seriesRenderer.setDisplayChartValues(false);
    }

    return ChartFactory.getBarChartIntent(this, buildBarDataset(titles, values), renderer,
        Type.DEFAULT);
  }

protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) 
{

    // creates a SeriesRenderer and initializes it with useful default values as well as colors

    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

    renderer.setAxisTitleTextSize(16);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);

    int length = colors.length;

    for (int i = 0; i < length; i++) 
    {
      SimpleSeriesRenderer r = new SimpleSeriesRenderer();
      r.setColor(colors[i]);
      renderer.addSeriesRenderer(r);
    }
    return renderer;
  }

protected void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle,
          String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,
          int labelsColor) 
{
// sets lots of default values for this renderer

    renderer.setChartTitle(title);
    renderer.setXTitle(xTitle);
    renderer.setYTitle(yTitle);
    renderer.setXAxisMin(xMin);
    renderer.setXAxisMax(xMax);
    renderer.setYAxisMin(yMin);
    renderer.setYAxisMax(yMax);
    renderer.setAxesColor(axesColor);
    renderer.setLabelsColor(labelsColor);

    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.BLACK);


}

protected XYMultipleSeriesDataset buildBarDataset(String[] titles, List<double[]> values) 
{

    // adds the axis titles and values into the dataset

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    int length = titles.length;

    for (int i = 0; i < length; i++) 
    {
      CategorySeries series = new CategorySeries(titles[i]);
      double[] v = values.get(i);
      int seriesLength = v.length;

      for (int k = 0; k < seriesLength; k++) 
      {
        series.add(v[k]);
      }
      dataset.addSeries(series.toXYSeries());
     }
    return dataset;
}
}

最佳答案

您正在使用一些参数调用 setChartSettings,这些参数将 X 轴可视范围设置为 0 到 30 之间,Y 轴的可视范围也相同。您可以调整这些参数以获得更好的轻松显示。

您正在使用负值调用 renderer.setBarSpacing()。只需使用正值,从 0.5f 开始(这意味着间距等于条厚度的一半),然后根据您的需要进行调整。

关于android - 在android中显示栏之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153871/

相关文章:

android - 三星设备仅在 Lollipop 5.0 和 5.1 版本中收到 native 崩溃

android - 编写执行 linux 命令的 android 应用程序

android - 通过按下提交按钮从多个 fragment 获取值到 Activity

android - 支持 OTG 的 Android 设备中的 USB 主机模式

elasticsearch - Grafana 条形图 : visualize sum of entries per product type for each month

r - ggplot2 中不同颜色的分组条形图

r - ggplot2 geom_bar position = "dodge"不闪避

java - 如何完全关闭你的App?

wpf - 在 C# 代码隐藏中将图表 LegendItem 复选框绑定(bind)到 WPF 中的系列可见性

删除 Plotly 中条形之间的间隙