我正在尝试根据当月的当前日期为 X 轴上的标签设置不同的颜色,但我似乎无法单独配置它们。我还试图让网格线在中线有破折号,而天花板线没有破折号。这是在左轴上。但我似乎也无法单独设置它。
目前情况:
我想要实现的目标:
到目前为止我的代码:
func setBarChart(dataPoints: [String], values: [String]){
barChartView.noDataTextColor = UIColor.white
barChartView.noDataText = "No data for the chart"
barChartView.backgroundColor = UIColor.white
for i in 0..<dataPoints.count {
let dataPoint = BarChartDataEntry(x: Double(i), y: Double(values[i])!)
dataEntry.append(dataPoint)
}
let chartDataSet = BarChartDataSet(values: dataEntry, label: "BPM")
let chartData = BarChartData()
chartData.addDataSet(chartDataSet)
chartData.setDrawValues(false)
chartData.barWidth = Double(0.5)
chartDataSet.colors = [UIColor(red: 0, green: 158/255, blue: 237/255, alpha: 1)]
let formatter: ChartFormatter = ChartFormatter ()
formatter.setValues(values: dataPoints)
let floatValue: [CGFloat] = [4,4]
barChartView.xAxis.valueFormatter = formatter
barChartView.xAxis.labelTextColor = UIColor(red: 141/255, green: 141/255, blue: 141/255, alpha: 1)
barChartView.getAxis(.right).labelTextColor = UIColor(red: 141/255, green: 141/255, blue: 141/255, alpha: 1)
barChartView.xAxis.axisLineColor = UIColor.clear
barChartView.getAxis(.right).axisLineColor = UIColor.clear
barChartView.getAxis(.left).axisLineColor = UIColor.clear
barChartView.xAxis.labelPosition = .bottom
barChartView.xAxis.drawGridLinesEnabled = false
barChartView.xAxis.drawLabelsEnabled = true
barChartView.chartDescription?.enabled = false
barChartView.legend.enabled = false
barChartView.rightAxis.enabled = true
barChartView.rightAxis.labelCount = Int(2)
barChartView.rightAxis.drawGridLinesEnabled = false
barChartView.leftAxis.drawGridLinesEnabled = true
barChartView.leftAxis.gridColor = UIColor(red: 235/255, green: 235/255, blue: 235/255, alpha: 1)
barChartView.leftAxis.gridLineWidth = CGFloat(1.5)
barChartView.leftAxis.gridLineDashLengths = floatValue
barChartView.leftAxis.drawLabelsEnabled = false
barChartView.data = chartData
}
最佳答案
此功能在库中不可用。
但是,这不应阻止您自己实现它甚至可能将其添加到库中。
作为起点,请查看 XAxisRenderer有 drawLabels(context:pos:anchor:)。
在这里,它基本上遍历 xAxis.entries 并通过调用 drawLabel(context:formattedLabel:x:y:attributes:constrainedToSize:anchor:angleRadians:) 绘制每个标签>,向其传递一个 labelAttrs,其中包含有关要应用的颜色的信息。
但是目前... labelAttrs 是在循环之前设置的,其中一种颜色是从 xAxis.labelTextColor 中引用的。
这里的关键是将 labelAttrs[NSAttributedString.Key.foregroundColor] 设置为相对于条目的颜色,例如,靠近这一行:
let label = xAxis.valueFormatter?.stringForValue(xAxis.entries[i], axis: xAxis) ?? ""
如果颜色也由 xAxis.valueFormatter 提供,这可能是最好的,而这又需要更改 IAxisValueFormatter 才能提供它.
我希望这能以某种方式帮助你。
关于IOS 图表突出显示 X 轴上的特定标签和仅在中间的虚线网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778065/
我试图使用yard记录一些Ruby代码,尽管我所做的正是所描述的here或here#@param[Integer]thenumberoftrials(>=0)#@param[Float]successprobabilityineachtrialdefinitialize(n,p)#initialize...end虽然我仍然得到这个奇怪的错误@paramtaghasunknownparametername:the@paramtaghasunknownparametername:success然后生成的html看起来很奇怪。我称yard为:$yarddoc-mmarkdown我做错了什么?
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes
我有一个.pfx格式的证书,我需要使用ruby提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o
我了解instance_eval和class_eval之间的基本区别。我在玩弄时发现的是一些涉及attr_accessor的奇怪东西。这是一个例子:A=Class.newA.class_eval{attr_accessor:x}a=A.newa.x="x"a.x=>"x"#...expectedA.instance_eval{attr_accessor:y}A.y="y"=>NoMethodError:undefinedmethod`y='forA:Classa.y="y"=>"y"#WHATTT?这是怎么回事:instance_eval没有访问我们的A类(对象)然后它实际上将它添加到
我有一个集合选择:此方法的单选按钮是什么?谢谢 最佳答案 Rails3中没有这样的助手。在Rails4中,它是collection_radio_buttons. 关于ruby-on-rails-rails上的ruby:radiobuttonsforcollectionselect,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18525986/
我正在尝试将cucumber项目的用户名和密码置于版本控制之外。有没有办法在命令行上手动将用户名和密码等变量传递给Cucumber脚本?我的备份计划是将它们放在一个YML文件中,然后将该文件添加到gitignore,这样它们就不会被置于版本控制中。 最佳答案 所以,我看到了您对铁皮人的评论,答案是肯定的。cucumberPASSWORD=my_passwordPASSWORD被设置为环境变量,您可以通过将其引用为ENV['PASSWORD']来使用它的值。例如,browser.text_field(:id=>'pwd').setEN