我在我的应用程序中使用饼图,现在饼图显示正常,唯一的问题是饼图底部的空间。以下是饼图的代码,并输出我想要的和我想要得到的。
使用此库绘制饼图
https://github.com/PhilJay/MPAndroidChart
PieChart pieChart = (PieChart) view.findViewById(R.id.fragment_chart);
pieChart.setUsePercentValues(true);
Display display = getActivity().getWindowManager().getDefaultDisplay();
int height = display.getHeight(); // deprecated
int offset = (int)(height * 0.65); /* percent to move */
/* RelativeLayout.LayoutParams rlParams =
(RelativeLayout.LayoutParams)pieChart.getLayoutParams();
rlParams.setMargins(0, 0, 0, -offset);
pieChart.setLayoutParams(rlParams);*/
// IMPORTANT: In a PieChart, no values (Entry) should have the same
// xIndex (even if from different DataSets), since no values can be
// drawn above each other.
ArrayList<PieEntry> yvalues = new ArrayList<PieEntry>();
yvalues.add(new PieEntry(8f, 0));
yvalues.add(new PieEntry(15f, 1)); …Run Code Online (Sandbox Code Playgroud) 我正在使用MPAndroidChart库.我正在使用MPAndroidChart设置包含数据的多线图.它工作得很好,但背景是白色的.这就是我在做的事情
nhChart = new LineChart(getActivity());
nhChart.setDescription("Number of Hits View");
nhChart = (LineChart) hitsView.findViewById(R.id.line_chart_number_of_hits);
//int color = Color.parseColor("#80101010");
nhChart.setBackgroundColor(Color.parseColor("#80101010"));
//nhChart.setBackgroundResource(R.drawable.background_portrate);
//nhChart.setBackground(getResources().getDrawable(R.drawable.background_portrate));
nhChart.setStartAtZero(true);
nhChart.setDrawBorder(true);
nhChart.setNoDataTextDescription("No Data available for Charts");
nhChart.setDrawYValues(false);
nhChart.setDrawBorder(true);
nhChart.setScaleEnabled(true);
nhChart.setHighlightEnabled(false);
nhChart.setTouchEnabled(true);
//nhChart.setGridColor(Color.WHITE & 0x70FFFFFF);
//nhChart.setDragScaleEnabled(true);
nhChart.setPinchZoom(true);
setData(valueDate.size(),10000);
nhChart.animateX(2500);
Legend l = nhChart.getLegend();
l.setForm(LegendForm.CIRCLE);
l.setFormSize(6f);
l.setTextColor(Color.WHITE);
YLabels y = nhChart.getYLabels();
y.setTextColor(Color.WHITE);
y.setLabelCount(6);
XLabels x1 = nhChart.getXLabels();
x1.setCenterXLabelText(true);
x1.setPosition(XLabelPosition.BOTTOM);
x1.setTextColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)
我正在片段viewpager中的AsyncTask的post execute方法中绘制线图.显示图表的其他片段显示相同的白色背景.我尝试为背景设置颜色但没有任何效果.我也把它留空了,但它仍然显示我的白色背景.我还更新了最新的Jar,但它不起作用.请帮忙.这是图像的外观
我使用库MPAndroidChart绘制饼图.
我想只显示切片文本(X)而不是切片(Y)的值.我找到的唯一方法是覆盖Valuesformatter并始终发送一个空字符串.
data.setValueFormatter(new ValueFormatter()
{
@Override
public String getFormattedValue(float value)
{
//return formatter_currency.format(value) + " " + currency;
return ""; // Display only categories name.
}
});
Run Code Online (Sandbox Code Playgroud)
但是这样所有的名称都不能正确地适合切片(它下面有空字符串).
有办法实现这个目标吗?

此折线图使用MPAndroidChart绘制.有没有可能在这里更改标签文本,例如:(69.0,69.5,70.0)到(坏,平均,好).或者是否可以在任何其他图表中.
我的Android项目使用的MPAndroidChart库有问题.似乎我的图表的第一个条目因为值太大而被切断(参见屏幕截图).第一个入口点的值是106.6,但只有06.6可见.有没有选择可以避免这种情况?
我已经找到了setAvoidFirstLastClipping(boolean)xAxis,但这并没有解决我的问题.
我在我的项目中使用MPAndroidChart.我设置数据集如:
LineDataSet set1 = new LineDataSet(yVals,null);
Run Code Online (Sandbox Code Playgroud)
我在标签上写了"null",因为我不希望向用户显示任何标签.当label为null时,graph会更大但仍然会出现属于label的多维数据集.
那么如何禁用立方体呢?
而且我也无法改变标签的颜色.它总是黑色的.如何更改标签的颜色?
我目前正在使用MPAndroidChart。我想限制要显示的行数和列数。
为了实现它,我使用了setVisibleXRangeMaximum()和setVisibleYRangeMaximum()函数。但是上述两种方法均无效。
我已经将visibleXRangeMaximum和visibleYRangeMaximum值设置为3。但是图表显示了x轴和y轴上的所有值。
码:
lineChart.setVisibleXRangeMaximum(3);
lineChart.setVisibleYRangeMaximum(3, YAxis.AxisDependency.LEFT);
barChart.setVisibleXRangeMaximum(3);
barChart.setVisibleYRangeMaximum(3, YAxis.AxisDependency.LEFT);
Run Code Online (Sandbox Code Playgroud)
在下图中,显示了所有值,而预期输出应包含3行和3列。
我正在使用MPAndroidChart,我想在显示的每个间隔删除背景行.试过这个但没用.dailyTargetChart.setDrawGridBackground(假);
XAxis xl = dailyTargetChart.getXAxis();
xl.setDrawAxisLine(true);
xl.setDrawGridLines(false);
YAxis yl = dailyTargetChart.getAxisLeft();
yl.setDrawAxisLine(true);
yl.setDrawGridLines(true);
YAxis yr = dailyTargetChart.getAxisRight();
yr.setDrawAxisLine(true);
yr.setDrawGridLines(false);
Run Code Online (Sandbox Code Playgroud)
也尝试了这一点,但是每隔一段时间仍然可以看到垂直线
我有两个数据集.我想制作一张图表mpandroidchart.
这是我的json格式数据集:
const bar_chart_point_ver = {
"datasets": [{
"name": "set1",
"setColor": ["#004D40", "#004D40", "#004D40", "#004D40", "#e74c3c",
"#f1c40f", "#3498db"
],
"points": [{
"x": "eli",
"y": "24"
}, {
"x": "mah",
"y": "38"
}, {
"x": "sa",
"y": "77"
}, {
"x": "ni",
"y": "17"
}
]
},
{
"name": "set2",
"setColor": ["#3498db"],
"points": [{
"x": "eli",
"y": "12"
}, {
"x": "mah",
"y": "24"
}, {
"x": "sa",
"y": "125"
}, {
"x": "ni",
"y": "7"
} …Run Code Online (Sandbox Code Playgroud)我是MPAndroidChart的新手,我想在LineChart的XAxis上实时显示时间.我想只显示传入数据的最后10秒,如下图所示.我的采样是25Hz所以我需要显示250个值才能有10秒的记录.
但是,我真的不知道该怎么做.我想我必须使用IAxisValueFormatter.
目前,我的传入值被添加到数据集中,如下所示:
addEntry(myDataSet, new Entry(myDataSet.getEntryCount(), myNewValue));
Run Code Online (Sandbox Code Playgroud)
但也许我需要这样做:
/* add 40 ms on xAxis for each new value */
addEntry(myDataSet, new Entry(myLastTimeStamp + 40, myNewValue));
Run Code Online (Sandbox Code Playgroud)
然后创建一个格式化程序,将X值转换为"xxx秒"之类的字符串,并仅显示"0s","5s"和"10s".
我不知道它是否有效但是有更好的方法吗?
谢谢