我正在开发 Android 应用程序。在我的应用程序中,我必须显示一个具有多种颜色的条形图,所以我使用了 charts4j 库。我使用了以下链接中的代码 charts4j example .
现在的问题是,只有当条数超过屏幕时我才能显示固定的条,我无法滚动查看剩余的条。这是我的屏幕截图。
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) 如果条数较少,那么我可以查看标签[代表数据的每种颜色]。请查看下图
如果数量更多,那么我无法查看标签。请参见第一张图片。
3) 我想知道有什么方法可以为边框提供单独的背景颜色。我的意思是分数和年数
请帮我找到解决办法
最佳答案
如果我没记错的话,charts4j 使用 WebView 来显示图表。
因此,为您的 WebView 添加这一行
yourWebView.getSettings().setBuiltInZoomControls(true);
这将为 WebView 提供缩放功能,
希望这有助于...
关于android - 带滚动的多色条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248040/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我有一个Highstock图表(带有标记和阴影的线条),并且想以编程方式显示一个highstock工具提示,例如,当我选择某个表上的一行(包含图表数据)我想显示相应的highstock工具提示。这可能吗? 最佳答案 股票图表thissolution不起作用:在thisexample你必须更换这个:chart.tooltip.refresh(chart.series[0].data[i]);为此:chart.tooltip.refresh([chart.series[0].points[i]]);解决方案可用here.
我有以下模型用户has_many:users_contactshas_many:contacts,through::users_contactsaccepts_nested_attributes_for:contacts,allow_destroy:true联系方式has_many:users_contactshas_many:users,through::users_contactsaccepts_nested_attributes_for:users_contacts,allow_destroy:true用户联系belongs_to:usersbelongs_to:contacts
我想建立3步用户注册,在第2步上传头像。所以我遵循RyanBates的指南http://railscasts.com/episodes/217-multistep-forms.我正在使用CarrierWavegem来处理上传。但似乎我无法在用户session中存储上传的文件信息(我收到无法转储文件错误)。我在Controller中使用以下技术ifparams[:user][:img_path]@uploader=FirmImgUploader.new@uploader.store!(params[:user][:img_path])session[:img]=@uploaderpara
我有一个散列:hash={"a_1_a"=>"1","a_1_b"=>"2","a_1_c"=>"3","a_2_a"=>"3","a_2_b"=>"4","a_2_c"=>"4"}获取以下子哈希的最佳方法是什么:[{"a_1_a"=>"1","a_1_b"=>"2","a_1_c"=>"3"},{"a_2_a"=>"3","a_2_b"=>"4","a_2_c"=>"4"}]我希望它们根据正则表达式/^a_(\d+)/按键分组。我将在原始哈希中包含50多个键/值对,因此如果有人有任何建议,动态的东西会最好。 最佳答案 如果您只关心
因此,我们的页面中有以下代码:OnOff这是2个单选按钮。'开和关'。“关闭”是默认值。使用Watir-webdriver和Ruby,我们想要选择“打开”单选按钮。我们这样做:browser.radio(:id=>"HasRegistration_true").set但在这样做时,我们得到以下错误:`WebElement.clickElement':Elementcannotbescrolledintoview:[objectHTMLInputElement](Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)我们知道Sele
运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid
1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La
Ai-Bot基于流行的Node.js和JavaScript语言的一款新自动化框架,支持Windows和Android自动化。1、Windowsxpath元素定位算法支持支持Windows应用、.NET、WPF、Qt、Java和Electron客户端程序和ie、edgechrome浏览器2、Android支持原生APP和H5界面,元素定位速度是appium十倍,无线远程自动化操作多台安卓设备3、基于opencv图色算法,支持找图和多点找色,1080*2340全分辨率找图50MS以内4、内置免费OCR人工智能技术,无限制获取图片文字和找字功能。5、框架协议开源,除官方node.jsSDK外,用户可
前一段时间由于工作需要把可爱的小雪狐舍弃了,找到了小蜜蜂。但是新版本的小蜜蜂出现了很多和旧版本不一样的位置。1.功能位置迁移,原来在工程build.gradle的buildscript和allprojects移动至setting.gradle并改名为pluginManagement和dependencyResolutionManagement。里面的东西依旧可以按照原来的copy过来。pluginManagement{repositories{gradlePluginPortal()google()mavenCentral()}}dependencyResolutionManagement{r