- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 MPAndroidChart
库作为条形图,其中,我使用 chart.setDrawValueAboveBar(false)
来设置条形内部的条形值,现在我想要在条形内部垂直显示值。
请帮忙..提前谢谢您。
最佳答案
首先将其设为假
mChart.setDrawValueAboveBar(false);
然后为您的数据集启用绘制值
barDataSet.setDrawValues(true);
由于您还需要旋转文本..您必须为图表实现自定义渲染器。如果你想知道渲染器是如何工作的,请查看这个 answer
我在下面提供了一个示例实现。您可以修改它以控制适合您的文本位置。
自定义渲染器
public class BarChartCustomRenderer extends BarChartRenderer {
public BarChartCustomRenderer(BarDataProvider chart, ChartAnimator animator, ViewPortHandler viewPortHandler) {
super(chart, animator, viewPortHandler);
}
public void drawValue(Canvas c, IValueFormatter formatter, float value, Entry entry, int dataSetIndex, float x, float y, int color) {
mValuePaint.setColor(color);
c.save();
c.rotate(90f, x, y);
Log.d("here", formatter.getFormattedValue(value, entry, dataSetIndex, mViewPortHandler) );
c.drawText(formatter.getFormattedValue(value, entry, dataSetIndex, mViewPortHandler), x, y, mValuePaint);
c.restore();
}
}
图表代码
BarChart mChart = (BarChart) findViewById(R.id.barChart);
mChart.setDrawBarShadow(false);
mChart.setDrawValueAboveBar(false);
mChart.getDescription().setEnabled(false);
mChart.setDrawGridBackground(false);
//**add renderer**
BarChartCustomRenderer barChartCustomRenderer = new BarChartCustomRenderer(mChart, mChart.getAnimator(), mChart.getViewPortHandler());
mChart.setRenderer(barChartCustomRenderer);
XAxis xaxis = mChart.getXAxis();
xaxis.setDrawGridLines(false);
xaxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xaxis.setGranularity(0.5f);
xaxis.setGranularityEnabled(true);
xaxis.setDrawLabels(true);
xaxis.setDrawAxisLine(false);
YAxis yAxisLeft = mChart.getAxisLeft();
yAxisLeft.setPosition(YAxis.YAxisLabelPosition.INSIDE_CHART);
yAxisLeft.setDrawGridLines(false);
yAxisLeft.setDrawAxisLine(false);
yAxisLeft.setEnabled(false);
mChart.getAxisRight().setEnabled(false);
Legend legend = mChart.getLegend();
legend.setEnabled(false);
ArrayList<BarEntry> valueSet1 = new ArrayList<BarEntry>();
ArrayList<String> ylabels = new ArrayList<>();
for (int i = 0; i < 6; ++i) {
BarEntry entry = new BarEntry(i, (i + 1) * 2);
valueSet1.add(entry);
ylabels.add(" " + i);
}
List<IBarDataSet> dataSets = new ArrayList<>();
BarDataSet barDataSet = new BarDataSet(valueSet1, " ");
barDataSet.setColor(Color.CYAN);
barDataSet.setDrawValues(true);
dataSets.add(barDataSet);
BarData data = new BarData(dataSets);
data.setBarWidth(0.4f);
data.setValueTextSize(10f);
data.setValueTextColor(Color.BLACK);
mChart.setData(data);
mChart.setFitBars(true);
mChart.invalidate();
结果
关于java - MPAndroidChart BarChart - 条形内的垂直值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48006239/
我为 BarChart 设置了 OnChartValueSelectedListener 但是当我点击任何条形图或 BarChart 中的任何地方时只有 onNothingSelected() 正在调
我正在尝试动态设置 BarChart Series 颜色。 我希望相同的系列名称始终具有相同的颜色。它在图表中并不总是相同的系列名称,这就是为什么我不能依赖图表中的位置(默认情况下颜色在数据列表中的相
我的窗口有以下 Controller : package window; import javafx.event.ActionEvent; import javafx.fxml.FXML; impor
如何更改 JavaFX BarChart 中条形的颜色? 我找不到通过 css setStyle 方法改变颜色的方法。 最佳答案 你可以使用css设置条形颜色 .default-color0.char
我有一个 flutter 应用程序,需要 Bar chart我可以在其中单击栏来打开包含相关信息的新页面。 我该怎么做? /// Bar chart example charts.BarChart(
我有一个 flutter 应用程序,需要 Bar chart我可以在其中单击栏来打开包含相关信息的新页面。 我该怎么做? /// Bar chart example charts.BarChart(
我在使用条形图时遇到问题。我为 Primefaces 编写了一个 barCharts 示例,但在页面上它们不可见。 这里是 Bean 类: import java.io.Serializable; i
我正在使用 Flot API 在我的应用程序中以图形方式绘制数据。我能够绘制数据并且能够实现工具提示。但我在使用工具提示时遇到问题。它显示 x 轴上的标签值“未定义”。 $(function () {
我想我已经尝试了所有方法,但我无法解决这个问题。 对于每家公司,我需要用该公司的颜色分组并显示 3 个条形图,并为每个条形图显示注释。 我只能得到这样的东西: 但是我真正需要的是这样的: 我已经花了超
我在后台的 iOS 应用程序中使用 NSTimer,它每 30 秒在数组中保存一些数据。该应用程序以折线图显示最后 10 个值(5 分钟的值)。 我的问题是当应用程序不在屏幕上时,在后台使用每 30
在我的项目中我使用 GWT 图表 - 我想从所有条开始的地方删除垂直线,并减少条之间的空间。是否可以?我已经尝试了几次,但没有成功。这是我的 Java 代码: BarChart chart
我的窗口有以下 Controller : package window; import javafx.event.ActionEvent; import javafx.fxml.FXML; impor
我的数据从 750 000 - 1 000 000+ 变化,所以我实际上不需要看到低于 750 000 的值。 如果我只是使 y[i] - 750 000 那么还有另一个问题(在 AxisY 上显示最
我正在创建谷歌条形图,它从数据库中获取数据。问题是数据包含低于“1”的值,如 0.6、0.7 等它不会出现在图表上。图表仅显示从 1 开始的值。 google.load('visualization
我正在使用 MPAndroidChart 在我的 Android 应用程序中绘制图表。 一个要求是我需要从非零 y 位置开始绘制条形图,如 this 中所建议的那样.所以我同样使用 CandleSti
是否可以将 UILabel 设置为条形图的水平条? (CorePlot) 谢谢! 最佳答案 如果您只需要标记其中一个条形,您可以使用 CPTPlotSpaceAnnotation。将 anchorPl
我正在使用 MPAndroidChart 库作为条形图,其中,我使用 chart.setDrawValueAboveBar(false) 来设置条形内部的条形值,现在我想要在条形内部垂直显示值。 请帮
我在 Google 中找不到它,所以我在这里询问。如何设置取决于 PrimeFaces BarChart 值的条形颜色。例如,如果我的值小于 50%,则条形图为红色。也许有人有类似的问题并且可以给我发
正如标题所说。基本上我有一个 ArrayList,其中 DiceRoll 是一个在 TableView 中成功使用的类,用于在值更改时更新值。 public class DiceRoll { priv
我需要从 BarChart 中删除右边的图例。 这是我的代码。 mChart = (BarChart) rootView.findViewById(R.id.chart1); mCha
我是一名优秀的程序员,十分优秀!