diff --git a/doc/images/examples_donut.png b/doc/images/examples_donut.png new file mode 100644 index 0000000000000000000000000000000000000000..301419bc95d10c384c42a854916bfaeca7584328 GIT binary patch literal 15999 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 OOI$=oxJpp(_x}OR4(kB` literal 0 Hc$@Bar chart from model

  • Percent bar chart
  • Pie chart
  • +
  • Donut chart
  • Pie chart drilldown
  • -
  • Donut chart
  • +
  • Nested donuts chart
  • Donut chart drilldown
  • Presenter chart
  • Scatter chart
  • diff --git a/examples/donutchart/main.cpp b/examples/donutchart/main.cpp index ef1379b..5549ecc 100644 --- a/examples/donutchart/main.cpp +++ b/examples/donutchart/main.cpp @@ -52,6 +52,7 @@ int main(int argc, char *argv[]) QChart* chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple donutchart example"); + chart->legend()->hide(); //![3] //![4] diff --git a/examples/piechart/main.cpp b/examples/piechart/main.cpp index 50045f3..7428361 100644 --- a/examples/piechart/main.cpp +++ b/examples/piechart/main.cpp @@ -51,6 +51,7 @@ int main(int argc, char *argv[]) QChart* chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple piechart example"); + chart->legend()->hide(); //![3] //![4] diff --git a/src/piechart/qpieseries.cpp b/src/piechart/qpieseries.cpp index 0f71ae1..064e995 100644 --- a/src/piechart/qpieseries.cpp +++ b/src/piechart/qpieseries.cpp @@ -46,8 +46,12 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE This can be done by setting a starting angle and angle span to the series. Full pie is 360 degrees where 0 is at 12 a'clock. - See the \l {PieChart Example} {pie chart example} to learn how to create a simple pie chart. - \image examples_piechart.png + See the \l {PieChart Example} {pie chart example} or \l {DonutChart Example} {donut chart example} to learn how to use QPieSeries. + \table 100% + \row + \o \image examples_piechart.png + \o \image examples_donut.png + \endtable */ /*! \qmlclass PieSeries QPieSeries