Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 图表-散点图1:1轴比例_Ios_Swift_Ios Charts - Fatal编程技术网

Ios 图表-散点图1:1轴比例

Ios 图表-散点图1:1轴比例,ios,swift,ios-charts,Ios,Swift,Ios Charts,我想在散点图表视图中绘制一些x和y数据,但我似乎不知道如何设置x轴和y轴的比例相等 我曾尝试使用图表的高度和宽度分别计算轴的最小值和最大值,但这非常混乱,没有产生任何好的结果 你有什么建议吗?我是否忽略了文档中的任何内容 下面是我的SwiftUI视图,我用它作为散点图 import SwiftUI import Charts struct ScatterPlot: UIViewRepresentable { typealias UIViewType = ScatterChartView

我想在
散点图表视图
中绘制一些x和y数据,但我似乎不知道如何设置x轴和y轴的比例相等

我曾尝试使用图表的高度和宽度分别计算轴的最小值和最大值,但这非常混乱,没有产生任何好的结果

你有什么建议吗?我是否忽略了文档中的任何内容

下面是我的SwiftUI视图,我用它作为散点图

import SwiftUI
import Charts

struct ScatterPlot: UIViewRepresentable {
    typealias UIViewType = ScatterChartView

    private let plot = ScatterChartView()

    func makeUIView(context: Context) -> ScatterChartView {
        setUpPlot()
        return plot
    }

    func updateUIView(_ uiView: ScatterChartView, context: Context) {}

    private func setUpPlot() {
        plot.rightAxis.enabled = false
    
        let dataSets = [getScatterPlotDataSet()]
        let data = ScatterChartData(dataSets: dataSets)
    
        plot.data = data
    }

    private func getScatterPlotDataSet() -> ScatterChartDataSet {
        let entries: [ChartDataEntry] = [ChartDataEntry(x: 0, y: 0), ChartDataEntry(x: 1, y: 1)]
        let dataSet = ScatterChartDataSet(entries: entries)
    
        return dataSet
    }
}

提前谢谢。

我尝试计算宽高比,得到这个结果

请注意,对于这个示例,我使用情节提要,您需要检查您是否在swiftUI代码中获得了正确的图表宽度和高度

    chart.rightAxis.enabled = false
    
    let width = chart.frame.width
    let height = chart.frame.height
    
    let maxValue: Double = 1.0
    
    chart.xAxis.granularity = 0.5
    chart.leftAxis.granularity = 0.5
    
    chart.leftAxis.axisMaximum = maxValue
    chart.xAxis.axisMinimum = 0
    chart.leftAxis.axisMinimum = 0
    chart.xAxis.axisMaximum = Double(width / height) * maxValue

@未知一些信息,一个系统性地经历了否决我所有答案的麻烦的人,我使用了短语“提前感谢”。说实话,我不是以英语为母语的人,也不想强迫别人回答我的问题。在德语中,这被认为是一种非常礼貌的提问方式。如果这被误解了,我很抱歉。如果这篇文章中提到的一个也看到了,请考虑下面的答案:你能分享你所做的代码和你的数据的一些例子吗?