(AChartEngine)如何设置默认缩放率?如何设置自定义字体样式?

时间:2012-08-04 16:31:18

标签: android bar-chart achartengine

我在我的android项目中使用AChartEngine。

当我实施条形图时,我有两个问题。

第一个问题 当我在模拟器上运行时,这是我的条形图。

第一张照片

ac

看起来效果很好,但是当我按右缩放缩放窗格中的缩小缩放率按钮时,它的视图效果会更好。

第二张图片

gjj

我希望图表显示如下,但每次显示图表时我都不想单击缩放率按钮。我可以设置默认缩放率吗?因此,当我在模拟器上运行时,图表将立即显示为第二张图片。

这是我的代码

    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);

提前致谢:)

2 个答案:

答案 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);