使用MPAndroidChart 3.0.2 绘制水平条形图.值显示在条形图的右侧.我可以使用setValueFormatter并使用IAxisValueFormatter接口在右侧显示标签.但是现在不显示这些值.
{
HorizontalBarChart barChart = (HorizontalBarChart) itemView.findViewById(R.id.barChart);
BarData data = new BarData();
ArrayList<BarEntry> valueSet1 = new ArrayList<>();
ArrayList<String> labels = new ArrayList<>();
labels.add("January");
labels.add("February");
labels.add("March");
labels.add("April");
labels.add("May");
labels.add("June");
ArrayList<String> ylabels = new ArrayList<>();
int dataCount=0;
for (int i=0;i<6;++i) {
BarEntry entry = new BarEntry(dataCount,(i+1)*2);
valueSet1.add(entry);
ylabels.add(" "+i);
dataCount++;
}
List<IBarDataSet> dataSets = new ArrayList<>();
BarDataSet bds = new BarDataSet(valueSet1, " ");
bds.setColors(ColorTemplate.MATERIAL_COLORS);
String[] xAxisLabels = labels.toArray(new String[0]);
String[] yAxisLabels = ylabels.toArray(new String[0]);
bds.setStackLabels(xAxisLabels);
dataSets.add(bds);
data.addDataSet(bds);
data.setDrawValues(true);
data.setBarWidth(0.4f); …Run Code Online (Sandbox Code Playgroud) 我有一个EditText和一个CountDownTimer.通常,如果你使用EditText启动一个Activity,EditText会激活并显示键盘.但我希望Activity启动,计时器关闭,然后键盘自动显示.我怎样才能做到这一点?
new CountDownTimer(5000, 1000) {
public void onTick(long millisUntilFinished) {
//Do Something
}
public void onFinish() {
//Keyboard pop up
}
}.start();
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,我想在显示的每个间隔删除背景行.试过这个但没用.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绘制折线图。
我需要绘制一个双 Y 轴折线图(即有 2 个 Y 轴,一个在左边,另一个在右边)。但是当我绘制图形时,它是从左侧绘制的。它考虑了左 YAxis 值而不是右 YAxis 值。
我在右侧绘制重量(公斤),在左侧绘制高度(英尺)。由于重量将按照 40 秒、50 秒等表示,而高度将按照 5、6 等表示……为高度绘制的线采用左参考,它有 50 秒、60 秒,因此永远不会出现。
请让我知道如何直接绘制考虑到高度的右 Y 轴而不是左 Y 轴。
我真的很感谢这个图书馆。我正在尝试绘制水平条形图。
但是我遇到了一个问题。我想每一点绘制图表轴。所以我使用了“setGranularity(1.0f);”
但是轴每 2 点显示一次。当我使用“setGranularity(3.0f)”或更高版本时,它工作正常。但是 1.0 不起作用。我不知道为什么。而且我能找到线索。
当“List”的大小小于 8 时,“setGranularity(1.0f)”工作正常。
当“List”的大小大于 9 时,“setGranularity(1.0f)”不起作用。(它的工作原理类似于“setGranularity(2.0f)”。)
我的列表大小为 13。
如何应用“setGranularity(1.0f)”?
我想在我的折线图上有 x 轴标签(使用MPAndroidChart),但无论我做什么,我都无法显示它们。我有一个名为 setupChart 的方法,它处理该图表的所有内容,它是这样的:
private void setupChart(LineChart chart, LineData data, int color) {
((LineDataSet) data.getDataSetByIndex(0)).setCircleColorHole(Color.WHITE);
((LineDataSet) data.getDataSetByIndex(0)).setCircleColor(color);
((LineDataSet) data.getDataSetByIndex(0)).setColors(dataColors);
data.getDataSetByIndex(0).setAxisDependency(YAxis.AxisDependency.LEFT);
((LineDataSet) data.getDataSetByIndex(0)).setDrawCircles(false);
// no description text
chart.getDescription().setEnabled(false);
// mChart.setDrawHorizontalGrid(false);
//
// enable / disable grid background
chart.setDrawGridBackground(false);
// enable touch gestures
chart.setTouchEnabled(true);
// disable scaling and dragging
chart.setDragEnabled(false);
chart.setScaleEnabled(false);
chart.setAutoScaleMinMaxEnabled(false);
// if disabled, scaling can be done on x- and y-axis separately
chart.setPinchZoom(false);
chart.setBackgroundColor(Color.parseColor("#dddddd"));
// set custom chart offsets (automatic offset calculation is hereby disabled)
chart.setViewPortOffsets(10, 0, …Run Code Online (Sandbox Code Playgroud) 请原谅我试图为我的应用程序解析页面的列表视图的问题,我将解释:我有一个由Fragment组成的操作栏.当instazia片段,第一次打开应用程序"getActivity"不返回null时,下一次,当我启动AsyncTask时,我将停止解析此错误的片段:
java.lang.NullPointerException
at android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:104)
at com.megadown.megacodownloader.ParsingArrayAdapter.<init>(ParsingArrayAdapter.java:30)
at com.megadown.megacodownloader.Tab_Search$ParsingPaginaWeb.onPostExecute(Tab_Search.java:264)
at com.megadown.megacodownloader.Tab_Search$ParsingPaginaWeb.onPostExecute(Tab_Search.java:125)
at android.os.AsyncTask.finish(AsyncTask.java:631)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
代码Java引用:
protected void onPostExecute(String result)
{
// dopo che ho eseguito il parsing mostro i dati nella listview
adapter = new ParsingArrayAdapter(myActivity, titoli, descrizioni,immagini);
lista.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
如果你愿意,我可以发布ArrayAdapter的代码.先感谢您
我有以下代码:
DateFormat dateFormat = new SimpleDateFormat(SQL_SERVER_DATE_FORMAT);
Date startDate;
startDate = (Date) dateFormat.parse(some_string_represents_date_received_from_sql_server);
Run Code Online (Sandbox Code Playgroud)
其中SQL_SERVER_DATE_FORMAT是:
public static final String SQL_SERVER_DATE_FORMAT = "yyyy-mm-dd'T'HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当some_string_represents_date_received_from_sql_server = '2014-02-05T12:15:59.417'我错误地将1388916959000其转换为ticks时,这意味着Sun Jan 05 12:15:59 GMT+02:00 2014.
当我有some_string_represents_date_received_from_sql_server = '2014-01-30T16:30:00.437'我得到这个正确转换为1391092200000滴答,这意味着Thu Jan 30 16:30:00 GMT+02:00 2014.
有任何想法吗?
我想从MPAndroidChart 中的 BarChart 中删除十进制值。即使我在显示它时将其作为整数值显示为十进制并将 .0 加起来作为我的值。
例如:如果我的值为 65,则显示为 75.0。(我想删除那个 .0 部分)
我正在使用名为“mpandroidchartlibrary-2-1-4”的库
下面是我的整数代码片段。
Double a= Double.parseDouble(total_week);
int b=a.intValue();
Double a1= Double.parseDouble(complitiontest);
int b1=a1.intValue();
Log.d("duoosfsd","**** "+b1);
entries.add(new BarEntry(b,0));
entries.add(new BarEntry(b1,1));
Run Code Online (Sandbox Code Playgroud)
这里的 b1 是整数值,即使我在日志中打印它也只打印为 75,但在显示时将显示为 75.0。
附上截图请查收。
我正在使用MPAndroidChart库显示两个折线图,并且我试图隐藏Dataset按钮点击。