- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚刚开始学习 Android 编码和开发。
现在,我正在尝试做这样的事情: Project Fi App UI但是,我在 MPAndroidChart 库中找不到参数或方法来设置 BarChart(或我正在使用的 HorizontalBarChart)中条形的比例。条形图中的条形只是自动决定其比例。我想要的是Y轴的固定最大范围,并且图表中条形的比例根据其值而变化。
另一个问题是我无法去掉每个栏上的标签。我写的
barChart.setDrawValueAboveBar(false);
但是 Bar 的右侧仍然有一个值。
包含条形图的 fragment 的屏幕截图: Screenshot
这是完整的代码
public class MainFragment extends android.support.v4.app.Fragment{
public MainFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.main_fragment, container, false);
HorizontalBarChart barChart = (HorizontalBarChart)rootView.findViewById(R.id.time_chart);
ArrayList<BarEntry> vals = new ArrayList<BarEntry>();
BarEntry val = new BarEntry(0.20f,0);
vals.add(val);
BarDataSet setTime = new BarDataSet(vals,"time used");
setTime.setAxisDependency(YAxis.AxisDependency.LEFT);
setTime.setColor(R.color.colorAccent);
ArrayList<String> xVals = new ArrayList<String>();
xVals.add("1");
BarData data = new BarData(xVals, setTime);
barChart.setData(data);
barChart.setBackgroundColor(ContextCompat.getColor(rootView.getContext(),R.color.chartBackGround));
barChart.setDrawValueAboveBar(false);
barChart.setDrawGridBackground(false);
barChart.setDrawBarShadow(true);
barChart.setDescription("");
barChart.setVisibleYRangeMaximum(1.0f,barChart.getAxisLeft().getAxisDependency());
barChart.getLegend().setEnabled(false);
barChart.getXAxis().setEnabled(false);
barChart.getXAxis().setDrawLabels(false);
barChart.getAxisRight().setEnabled(false);
barChart.getAxisLeft().setEnabled(false);
barChart.getAxisLeft().setAxisMaxValue(1.0f);
barChart.getAxisLeft().setAxisMinValue(0);
barChart.getAxisLeft().setDrawLabels(false);
barChart.invalidate();
return rootView;
}
}
这是我的 color.xml
<resources>
<color name="colorPrimary">#607d8b</color>
<color name="colorPrimaryDark">#455a64</color>
<color name="colorAccent">#64ffda</color>
<color name="windowBackground">#ffffff</color>
<color name="chartBackGround">#ffffff</color>
<color name="colorTransparent">#00ffffff</color>
谢谢你的帮助!!我真的无法在任何地方找到这个问题的答案。
最佳答案
尝试使用:
YAxis leftAxis = chart.getAxisLeft();
leftAxis.setAxisMaxValue(maxValue);
这应该给你一个固定的最大值。
如果您想摆脱标签,请尝试:
setDrawLabels(false)
此方法可以应用于任一轴,具体取决于您要跳过的标签。
您需要的所有信息都可以在 documentation 中找到。 .
编辑:使用它来删除值
setTime.setDrawValues(false);
在您的评论中,您还询问了如何更改数据集的颜色。为此,请使用:
setTime.setColor(Color.CYAN);
关于java - 如何设置 mpandroidchart 条形图中条形(y 轴)的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351047/
有人知道如何在数组字段中插入以竖线/竖线分隔的数组吗? 逗号可以正常工作,但是当我将其更改为 bar 时,它会产生错误“格式错误的数组文字” 示例(有效): insert into table (ar
我尽力阅读与我的问题相关的问题。最相关的是:question .但是我无法弄清楚如何解决我的问题。我有一个像这样的数据集 structure(list(COMPANY = structure(1
在使用 matplotlib 挣扎了比我想承认的时间更长的时间之后,我试图在我使用过的几乎任何其他绘图库中做一些轻而易举的事情,我决定向 Stackiverse 寻求一些见解。简而言之,我需要的是创建
如何实现带有条形样式的 Activity 指示器。根据以下文档http://developer.android.com/design/building-blocks/progress.html “Ac
我正在尝试使用数组中的数据制作水平条形图 $values = implode(',', array_values($type)); $labels = implode('|', array_keys(
这个问题在这里已经有了答案: Two-tone background split by diagonal line using css (7 个答案) Create a slanted edge
我正在处理一个范围非常大的图表,我发现条形图偏离了轴。我怎样才能阻止这个?这是我在教程中编写的一个示例,因为我的数据是通过读取大量文件获取的。这说明了我遇到的问题。我给出了标准差,意味着一个很大的范围
我在 Swift 2.2 中创建了一个 UIProgressView(条形),现在想改变它的高度。其他一些帖子建议使用 CGAffineTransformScale 来更改高度。但是,出于某种原因,这
我想在条形图上绘制两组具有不同比例的值。例如,对于一周中的每一天,我都有一个比例(比如那天同事迟到的比例)和一个值(他们平均迟到多长时间)。 这两个值可以绘制在两个单独的图表上,但将它们放在同一个图表
我想制作一个具有隐藏/显示功能的组合(线/条)图。我遇到的问题是我不知道如何指定索引更改(对于 javascript 来说是新的)这是我的示例(取消选中前两个复选框之一并重新选中它以查看问题): ht
我安装了 YCM(你完成了我),当我编码时,我发现命令 $ 不工作。它不会跳到行尾,而是跳到最后一行。例如,a.cpp 中的一行: #include| 现在光标在 include 之后,然后我键
我想在条形图顶部显示自定义标签。 下面是我的 stacklabel 代码,这里的问题是我想在 stacklabel 的格式化程序中使用堆栈的类别名称,我该如何访问它。 stackLabels: {
我是一名优秀的程序员,十分优秀!