swift - Swift 中具有对数 y 轴的图形

标签 swift math

我的目标是创建类似于下图的图表。我实际上设法结合了魔数(Magic Number)和设定比例 (0.001 - 1000) 来实现它。因此,总而言之,我正在寻找一个公式来计算正确的位置,以在对数 y 刻度上为预定义值的范围绘制线条。

Y轴:对数刻度

X 轴:整数

欢迎任何帮助!

Logarithmic graph

最佳答案

感谢@DietrichEpp 的帮助,我解决了这个问题。这是计算给定 Y 坐标的函数:

screenY0 - y 轴上的最小点

screenY1 - y 轴上的最大点

dataY0 - 响应比例顶部的值

dataY1 - 响应刻度底部的值

func convert(data: Double, screenY0:CGFloat, screenY1:CGFloat, dataY0:Double, dataY1:CGFloat) ->CGFloat{

   return screenY0 + (log(CGFloat(data)) - log(CGFloat(dataY0))) / (log(CGFloat(dataY1)) - log(CGFloat(dataY0))) * (screenY1 - screenY0)
}

关于swift - Swift 中具有对数 y 轴的图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34427225/

相关文章:

math - 平面到 XY 平面和点云中原点的旋转和变换

c# - 定点模边缘情况

math - 数学解析器的智能设计?

ios - 在 iOS 15 中,在 UILabel 中使用 unicode 字符时,软连字符无法正常工作

ios - 某些 iOS 框架如何使用不带 @objc 的可选来定义 Swift 协议(protocol)?

ios - 点击 GMSPolygon Swift

ios - "for char in self"有一个错误说 "type string does not conform to protocol sequencetype"

python - 与 sympy/pyqt python 的集成和区分

ios - MKMapView 自动缩小动画

颜色渐变的数学