一段设置KDChart::LineDiagram marker style的通用代码
//markerstyle map KDChart::MarkerAttributes::MarkerStylesMap msMap; msMap.insert( 0, KDChart::MarkerAttributes::MarkerCircle ); msMap.insert( 1, KDChart::MarkerAttributes::MarkerSquare ); msMap.insert( 2, KDChart::MarkerAttributes::MarkerDiamond ); msMap.insert( 3, KDChart::MarkerAttributes::Marker1Pixel ); msMap.insert( 4, KDChart::MarkerAttributes::Marker4Pixels ); msMap.insert( 5, KDChart::MarkerAttributes::MarkerRing ); msMap.insert( 6, KDChart::MarkerAttributes::MarkerCross ); msMap.insert( 7, KDChart::MarkerAttributes::MarkerFastCross); //set markerstyle of each line //showmarker but hide text for(int i =0; i < widget.lineDiagram()->datasetMarkers().size();++i) { KDChart::DataValueAttributes dva =widget.lineDiagram()->dataValueAttributes(i); KDChart::MarkerAttributes ma = dva.markerAttributes(); ma.setMarkerStyle(msMap[i % msMap.size()]); ma.setVisible(true); KDChart::TextAttributes ta = dva.textAttributes(); ta.setVisible(false); dva.setTextAttributes(ta); dva.setMarkerAttributes(ma); dva.setVisible(true); widget.lineDiagram()->setDataValueAttributes(i, dva); }