Thanks for showing additional code. But please use the Code block feature shown as < > at the bottom bar of the editing area.
(And please be more punctual about identifiers. Identifiers in Swift are case-sensitive and a slight difference may confuse readers.)
if it is possible to use @binding properties with a Bool var Of course you can. When you want to share a Bool var between views, you declare an @State var in the parent view and pass the Binding of it to the child view.
Play.swift:
struct Play: View {
		@State var graphIsOn: Bool = false
		@State var showsGraph: Bool = true
		var body: some View {
				VStack {
						//...
						if showsGraph {
								ViewGraph(isOn: $graphIsOn)	//Pass Binding to child view
						}
						//...
				}
				.toolbar {
						ToolbarItem(placement: .primaryAction) {
								Menu{
										Section {
												Button(action: {
														//WHEN I PRESS THIS BUTTON, I WANT THE GRAPH TO START
														graphIsOn = true
												}, label: {
														Text("Start recording")
												})
												Button(action: {
														//WHEN I PRESS THIS BUTTON, I WANT THE GRAPH TO STOP
														graphIsOn = false
												}, label: {
														Text("Stop recording")
												})
										}
								}
								label: {
										Label("Add", systemImage: "playpause")
								}
						}
				}
		}
}
ViewGraph.swift
struct ViewGraph: View {
		
		//...
		//	variables graph
		
		@Binding public var isOn: Bool //This is the var which starts the graph
		
		let sampleDataC: [CGFloat] = [0.1, 0.2, 0.45, 0.6, -0.8, -1.1, -0.4, 0.1, 0.2, 0.45, 0.6, -0.8, -0.2, 0.5, 0.3]
		
		@State private var colorConG = Color.white
		
		@State private var viewID = 0
		
		var body: some View {
				//... Use `isOn` as your `on`...
		}
}
(I renamed on to isOn, as on is too short to be meaningful.)