我在我的android项目中使用AChartEngine。
当我实施条形图时,我有两个问题。
第一个问题 当我在模拟器上运行时,这是我的条形图。
第一张照片
看起来效果很好,但是当我按右缩放缩放窗格中的缩小缩放率按钮时,它的视图效果会更好。
第二张图片
我希望图表显示如下,但每次显示图表时我都不想单击缩放率按钮。我可以设置默认缩放率吗?因此,当我在模拟器上运行时,图表将立即显示为第二张图片。
这是我的代码
XYSeries series1 = new XYSeries("Product Name1");
series1.add(1,15);
XYSeries series2 = new XYSeries("Product Name2");
series2.add(2,35);
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series1);
dataset.addSeries(series2);
XYSeriesRenderer renderer1 = new XYSeriesRenderer();
renderer1.setColor(Color.GREEN);
renderer1.setDisplayChartValues(true);
renderer1.setChartValuesTextSize(20);
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.BLUE);
renderer2.setDisplayChartValues(true);
renderer2.setChartValuesTextSize(20);
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer1);
mRenderer.addSeriesRenderer(renderer2);
mRenderer.setAxisTitleTextSize(16);
mRenderer.setChartTitle(chartTitle);
mRenderer.setChartTitleTextSize(20);
mRenderer.setLabelsTextSize(15);
mRenderer.setLegendTextSize(15);
mRenderer.setAxesColor(Color.WHITE);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.setBarSpacing(-0.7);
mRenderer.setZoomButtonsVisible(true);
mRenderer.setXTitle("Product");
mRenderer.setXLabels(0);
mRenderer.setXAxisMin(0);
mRenderer.setXAxisMax(3);
mRenderer.setYTitle("Calorie (kCal)");
第二个问题 如何在图表中实现我的自定义字体样式(字体样式文件保留在资产文件夹中)?我发现只有这种方法,但它不起作用。
mRenderer.setTextTypeface(typefaceName, style);
提前致谢:)
答案 0 :(得分:3)
对于第一个问题,AChartEngine尝试以最佳方式拟合您的数据。但是,您可以调整此行为:
mRenderer.setXAxisMin(min);
mRenderer.setXAxisMax(max);
mRenderer.setYAxisMin(0);
mRenderer.setYAxisMax(40);
对于第二个问题,我认为您应首先研究如何将自定义字体添加到常规Android应用程序中,然后它也可以在AChartEngine中使用。
答案 1 :(得分:0)
第二个问题的答案是
首先从net下载所需字体的ttf文件, 然后创建一个名为“assets”的文件夹,在它下面再添加一个文件夹“fonts”, 将.ttf文件放在fonts文件夹中。
然后在你的活动中写下这段代码:
Typeface type=Typeface.createFromAssest(getAssets(),"fonts/yourttffile.ttf");
并设置所需的位置,例如textview
textview.setTypeface(type);