how i can identify and read the columns of a csv file ?
-
@JonB @mrjj @KroMignon
I remove the headers and I replace
if (! ok)
continue;
by Q_ASSERT (ok);
but it's the same result@julie546 said in how i can identify and read the columns of a csv file ?:
I remove the headers and I replace
if (! ok)
continue;
by Q_ASSERT (ok);
but it's the same resultI suppose it is a simple precision issue, you should replace
toFloat()
withtoDouble()
:while (!filelidar.atEnd()) { QString line = filelidar.readLine(); const auto parts = line.split (','); if(parts.size() >= 2) { bool ok; qreal x = parts.at(0).toDouble(&ok); if(!ok) { qDebug() << "Could not parse X value" << parts.at(0); continue; } qreal y = parts.at(1).toDouble(&ok); if(!ok) { qDebug() << "Could not parse Y value" << parts.at(1); continue; } series->append(x, y); } }
-
@julie546 said in how i can identify and read the columns of a csv file ?:
I remove the headers and I replace
if (! ok)
continue;
by Q_ASSERT (ok);
but it's the same resultI suppose it is a simple precision issue, you should replace
toFloat()
withtoDouble()
:while (!filelidar.atEnd()) { QString line = filelidar.readLine(); const auto parts = line.split (','); if(parts.size() >= 2) { bool ok; qreal x = parts.at(0).toDouble(&ok); if(!ok) { qDebug() << "Could not parse X value" << parts.at(0); continue; } qreal y = parts.at(1).toDouble(&ok); if(!ok) { qDebug() << "Could not parse Y value" << parts.at(1); continue; } series->append(x, y); } }
@KroMignon thank you for your answer you helped me a lot,I tried it but it's the same thing, you don't think it's about this instruction ?
QScatterSeries * series = new QScatterSeries;
series->setMarkerShape(QScatterSeries::MarkerShapeRectangle); -
@mrjj
thank you for your reply I have changed it but there are some missing points
QScatterSeries * series = new QScatterSeries;
series->setMarkerShape(QScatterSeries::MarkerShapeRectangle);@julie546 said in how i can identify and read the columns of a csv file ?:
thank you for your reply I have changed it but there are some missing points
I am not sure that these points are actually missing. As far as I can tell you draw the points as blue squares with a white border (on a white background). If you look closely a lot of points are almost vanishing in the drawing (and some will vanish altogether). This is because the points are to close together (and some unfortunate pattern in your data) that the points overlap excactly so that you only see the white border of neighboring points (actually you don't see them as they are white on white). This makes it seem as if the points are missing.
Try changing either the background color or the color of the borders of the data points. Or remove the border to be comparable to Excel (if that is what you want). I can't help you with the right functions as I have never used these charts.
-
@KroMignon thank you for your answer you helped me a lot,I tried it but it's the same thing, you don't think it's about this instruction ?
QScatterSeries * series = new QScatterSeries;
series->setMarkerShape(QScatterSeries::MarkerShapeRectangle);@julie546 said in how i can identify and read the columns of a csv file ?:
series->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
This will only change the way the point is draw (https://doc.qt.io/qt-5/qscatterseries.html#markerShape-prop).
I don't think this will change anything.Are you sure you have exported all points in your CSV file?
For me, it looks like positions are missed. -
@KroMignon thank you for your answer you helped me a lot,I tried it but it's the same thing, you don't think it's about this instruction ?
QScatterSeries * series = new QScatterSeries;
series->setMarkerShape(QScatterSeries::MarkerShapeRectangle);@julie546
Your example currently has "many" points. Like anything you are trying to develop/debug, can't you cut down to something with as few points as possible while you get going? Can you go back to your original master and have like, dunno, half a dozen points (or start from 2?!), and compare how that is supposed to look against what you're getting in Qt Charts? That would eliminate all this discussion about whether you have the same number of points and whether it's just a coloring/display issue, or whatever. -
it is not a problem of color nor of value because I have checked the numbers of values and it is the same with the csv file and I have changed the color but it is the same graph
-
@julie546
I still think it would help you and those trying to answer if you can reproduce a problem/difference with the absolute minimum of points to consider. Up to you..... -
@julie546 said in how i can identify and read the columns of a csv file ?:
how i can change please the color of the window to black ?
https://doc.qt.io/qt-5/qtcharts-customchart-example.html
If you want the
QChart
background to be black, trychart->setBackgroundBrush(QBrush(Qt::Black));
For
QMainWindow
:window.setStyleSheet("QMainWindow { background-color: black }");
-
I tested this code but it did not change the color
QMainWindow window;
window.setCentralWidget(chartView);
window.resize(1000, 900);
window.setStyleSheet("QMainWindow {background: 'black';}");window.show();
can you help me please
-
I solved the problem thank you for helping me it was because of the color
@JonB @J-Hilk @KroMignon @Pl45m4 @SimonSchroeder