我正在使用MPAndroidChart库开发一些图表功能.
有没有办法显示我添加的所有xaxis值?似乎库将在xaxis上自动计算,一些值将被隐藏.恩.显示日期:05-17 05-17 05-15 ....同一天05-17将不会显示.
谢谢!
我的应用程序必须在条形图的每个条上都有一个标签.有没有办法用MPAndroidChart做到这一点?我找不到在项目wiki/javadocs上执行此操作的方法.
如果没有办法做到这一点是否还有另一个允许我使用的软件?
我需要删除正确的传说BarChart
.
这是我的代码.
mChart = (BarChart) rootView.findViewById(R.id.chart1);
mChart.setOnChartValueSelectedListener(this);
mChart.setDrawBarShadow(false);
mChart.setDrawValueAboveBar(true);
mChart.setDescription("");
mChart.setMaxVisibleValueCount(60);
mChart.setPinchZoom(false);
mChart.setDrawGridBackground(false);
mTf = Typeface.createFromAsset(getActivity().getAssets(), "OpenSans-Regular.ttf");
XAxis xAxis = mChart.getXAxis();
xAxis.setPosition(XAxisPosition.BOTTOM);
xAxis.setTypeface(mTf);
xAxis.setDrawGridLines(false);
xAxis.setSpaceBetweenLabels(2);
ValueFormatter custom = new MyValueFormatter();
YAxis leftAxis = mChart.getAxisLeft();
leftAxis.setTypeface(mTf);
leftAxis.setLabelCount(8);
leftAxis.setValueFormatter(custom);
leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);
leftAxis.setSpaceTop(15f);
Legend l = mChart.getLegend();
l.setPosition(LegendPosition.BELOW_CHART_LEFT);
l.setForm(LegendForm.SQUARE);
l.setFormSize(9f);
l.setTextSize(11f);
l.setXEntrySpace(4f);
mChart.animateXY(3000, 3000);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用MPAndroidChart库.我想要MPAndroidChart中的自定义图例.在MPAndroidChart库中,我试图设置图例的位置.通过给定代码legend.setPosition(LegendPosition.BELOW_CHART_CENTER)但无法执行此操作.我必须设置图例如下图所示
帮助将是欣赏
我想隐藏(或更好,不画)绘制线上的绘图点.
这是一个截图:
你有什么建议怎么做吗?我阅读了文档,但我发现没有任何用处.
提前致谢!再见!
我正在使用MarkerView类在图表中显示标记视图.我创建的markerview布局包含两个textview,一个在另一个之下.
我面临的问题是图表上最后一点的标记视图是图表中的一半,图表外的一半.下面的两张图片清楚地说明了问题:
第一张图显示了图表中心点的标记视图,显示没有任何问题:
第二个图像,如下所示,显示图表最后一个点的标记视图,它是图表中的一半.
如何调整此标记视图以使其在图表区域中显示.
维基没有说明标记视图的任何自定义.还有更多自定义吗?
此外,如果是多线图,如果我只点击其中一个线点,则markerview没有问题.但是,如果我在另一行的任何点上单击标记视图,则应用程序将失败.知道为什么会这样.
markerview类的代码如下:
public class TooltipView extends MarkerView {
private BaseGraphMetadata mBaseGraphMetadata;
private TextView mTooltipDate, mTooltipValue;
public TooltipView(Context context, int layoutResource, BaseGraphMetadata baseGraphMetadata) {
super(context, layoutResource);
mTooltipDate = (TextView)findViewById(R.id.tooltip_date);
mTooltipValue = (TextView)findViewById(R.id.tooltip_value);
mBaseGraphMetadata = baseGraphMetadata;
}
@Override
public void refreshContent(Entry entry, int i) {
List<DrillDownInfo> drillDownInfoList = (List<DrillDownInfo>) entry.getData();
DrillDownInfo drillDownInfo = drillDownInfoList.get(i);
Map<String, String> group = drillDownInfo.getGroupByNameVsGroupByValue();
Iterator iterator = group.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry pair = (Map.Entry)iterator.next();
if(pair.getKey()!=null && pair.getValue()!=null) {
String key …
Run Code Online (Sandbox Code Playgroud) 我正在使用MPAndroid Chart库在我的Android应用程序中绘制折线图.图的状态如下:
我想改变它:
所以我想改变MPAnroid Line Chart的点,在图书馆中称为"圆孔".我想把这个洞换成可画的.我有办法做到这一点吗?
圆孔更改代码在这里:
LineDataSet set1 = new LineDataSet(yVals, "DataSet 1");
set1.setDrawCircleHole( true );
set1.setCircleColor( Color.BLACK );
Run Code Online (Sandbox Code Playgroud)
库参考在这里:MPAndroidChart
我一直在寻找一种方法来使MPAndroidChart只在点击时显示数据点的值(标签).但似乎即使在文档中我也无法在线找到它.
我使用的line chart
和我想要的只是在点击时只显示某个点的标签.
在条形图中我创建的第一行和最后一行一直被切成两半(即使我添加了额外的条).这也会导致条形图上方的值不合适.我在一个片段内膨胀这个.
轴也只增加0.9而不是1.为了解决这个问题,我需要实现AxisValueFormatter接口吗?
图片:
代码:.java
chart = (BarChart) view.findViewById(R.id.chart1);
// Chart settings
chart.setDrawGridBackground(false);
chart.setHighlightFullBarEnabled(true);
chart.setDrawBarShadow(false);
chart.setDrawValueAboveBar(true);
chart.setDescription("");
// Settings for X-Axis
XAxis xAxis = chart.getXAxis();
xAxis.setDrawGridLines(false);
xAxis.setEnabled(true);
xAxis.setDrawLabels(true);
xAxis.setPosition(XAxisPosition.BOTTOM);
// Settings for Y-Axis
YAxis leftAxis = chart.getAxisLeft();
YAxis rightAxis = chart.getAxisRight();
leftAxis.setAxisMinValue(0f);
rightAxis.setAxisMinValue(0f);
BARENTRY = new ArrayList<>();
BarEntryLabels = new ArrayList<String>();
BARENTRY.add(new BarEntry(2f, 1));
BARENTRY.add(new BarEntry(3f, 2));
BARENTRY.add(new BarEntry(4f, 3));
BARENTRY.add(new BarEntry(5f, 4));
BARENTRY.add(new BarEntry(6f, 5));
Bardataset = new BarDataSet(BARENTRY, "Projects");
Bardataset.setColors(ColorTemplate.COLORFUL_COLORS);
BARDATA = new BarData(Bardataset);
chart.setData(BARDATA);
chart.invalidate(); // refresh
chart.animateY(1500); …
Run Code Online (Sandbox Code Playgroud)