2013-06-22 88 views
4

我正在开发Android应用程序。在我的应用程序中,我必须显示具有多种颜色的条形图所以我使用了charts4j库。我使用了以下链接charts4j example中的代码。带滚动条的多色条形图

现在的问题是,只有当酒吧的数量超过屏幕,我才能显示只有固定的酒吧,我无法滚动查看其余bars.Here是我的屏幕截图。 enter image description here 2

以下是我用来生成条形图的代码。

public static String getBarChartUrl() 
{ 
    BarChartPlot team1 = Plots.newBarChartPlot(Data.newData(25, 43, 12, 30,32,25, 43, 12, 30,32,25,25, 43, 12, 30,32,25), BLUEVIOLET, "Team A"); 
    BarChartPlot team2 = Plots.newBarChartPlot(Data.newData(8, 35, 11, 5,9,25, 35, 11, 5,9,25,25, 43, 12, 30,32,25), ORANGERED, "Team B"); 
    BarChartPlot team3 = Plots.newBarChartPlot(Data.newData(10, 20, 30, 30 ,15,32, 20, 30, 30 ,15,32,25, 43, 12, 30,32,25), LIMEGREEN, "Team C"); 

    // Instantiating chart. 
    BarChart chart = GCharts.newBarChart(team1, team2, team3); 

    // Defining axis info and styles 
    AxisStyle axisStyle = AxisStyle.newAxisStyle(BLACK, 13, AxisTextAlignment.CENTER); 
    AxisLabels score = AxisLabelsFactory.newAxisLabels("Score", 50.0); 
    score.setAxisStyle(axisStyle); 
    AxisLabels year = AxisLabelsFactory.newAxisLabels("Year", 50.0); 
    year.setAxisStyle(axisStyle); 

    // Adding axis info to chart. 
    chart.addXAxisLabels(AxisLabelsFactory.newAxisLabels("2002", "2003", "2004", "2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018")); 
    chart.addYAxisLabels(AxisLabelsFactory.newNumericRangeAxisLabels(0, 100)); 
    chart.addYAxisLabels(score); 
    chart.addXAxisLabels(year); 

    chart.setSize(600, 450); 
    chart.setBarWidth(50); 
    chart.setSpaceWithinGroupsOfBars(20); 
    chart.setDataStacked(true); 
    chart.setTitle("Team Scores", BLACK, 16); 
    chart.setGrid(100, 10, 3, 2); 
    chart.setBackgroundFill(Fills.newSolidFill(ALICEBLUE)); 
    LinearGradientFill fill = Fills.newLinearGradientFill(0, LAVENDER, 100); 
    fill.addColorAndOffset(WHITE, 0); 
    chart.setAreaFill(fill); 
    String url = chart.toURLString(); 
    return normalize(url); 
} 

我的问题是

1)按照数据的图表必须显示17条却是露出8条只有[年份2002年至2018年,现在它最多显示2009年仅]。如何我可以通过水平滚动查看剩余的小节吗?

2)如果条的数量是小于我可以查看标签[代表哪个数据的每个颜色]。请具有低于图像bar chart with label

一看如果数是更然后我不能查看标签。看到第一个图标。

3)我想知道有没有什么办法给边框单独的背景颜色。我的意思是分数和年

请帮我找到一个解决方案

+1

您指定的链接不工作 – amalBit

+0

@amalBit ... sorry.now检查链接 – sarath

+0

您可以更改主要布局成水平滚动视图 – amalBit

回答

1

如果我没有记错charts4j使用WebView显示图表。

所以,加入这一行你WebView

yourWebView.getSettings().setBuiltInZoomControls(true); 

这将给予WebView缩放功能,

希望这有助于...

+0

@CRUSADER ..得到zoom ..但我不能查看所有酒吧..我需要一个水平滚动来查看整个酒吧。 – sarath

+0

您可以从您使用网页视图 – CRUSADER

+0

显示charts4j后你得到的网址http://chart.apis.google.com/chart?cht=bvs&chs=600x500&chbh=50,20,8&chxt=y,y,x, X&chts = 000000,16&chtt =小组+比分&chxp = 1,50.0 | 3,50.0&CHG = 100.0,10.0,3,2&CHCO = 8A2BE2,FF4500,32CD32&chdl =小组+ A |团队+ B |团队+ C&chxs = 1,000000,13 ,0 | 3,000000,13,0&反馈网站0,0.0,100.0 | 1,0.0,100.0 | 3,0.0,100.0&CHF = BG,S,F0F8FF | C,LG,0,E6E6FA,1.0,FFFFFF,0.0&chxl = 1:|分数| 2:| 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015年| 2016 | 2017年| 2018 | 3 |年与CHD = E: QAbhHrTNUeQAbhHrTNUeQAQAbhHrTNUeQA,FIWZHCDNFxQAWZHCDNFxQAQAbhHrTNUeQA,GaMzTNTNJmUeMzTNTNJmUeQAbhHrTNUeQA – sarath