lsLine
Satır stiline sahip olduğum QCustomPlot
sayfamdaki farklı noktaların çizim değerlerini görüntülemeye çalışıyorum. QCustomPlot
üzerinde bir fare üzerinde sinyal ayarlayabilirsiniz biliyorum ama bu gerçekten yardım etmek istemiyorum çünkü sadece fare benim çizilen çizgi üzerinde olduğunda bilgilendirilmek gerekiyor. Benim soru benim fare üzerinde dağınık olup olmadığını öğrenmek için herhangi bir yol var mı puan. Fare bir dağılım noktası üzerinde olduğunda bana söyleyebilecek bir sinyal var mı?Fare üzerinde çizim değerlerini görüntüleyin. - Scatter noktalarını saptamak
cevap
Yeniden Yapılandırma QCustomPlot::mouseMoveEvent
veya QCustomPlot::mouseMove
'a bağlanın.
Sonra Coords çizmek ve QMap::lowerBound(cursorX)
ile sizin QCPDataMap
en yakın noktaları aramak için (imleç) piksel Coords çevirmek için eksenleri coordToPixel
kullanın.
QCustomPlot
'un yattığı mouseMove
sinyaline kolayca bir yuva bağlayabilirsiniz. Daha sonra, koordinat bulmak için QCPAxis::pixelToCoord
kullanabilirsiniz: X ekseni (saniye başına daha fazla nokta da dahil olmak üzere), tarih saat biçimini kullandığınızda
connect(this, SIGNAL(mouseMove(QMouseEvent*)), this,SLOT(showPointToolTip(QMouseEvent*)));
void QCustomPlot::showPointToolTip(QMouseEvent *event)
{
int x = this->xAxis->pixelToCoord(event->pos().x());
int y = this->yAxis->pixelToCoord(event->pos().y());
setToolTip(QString("%1 , %2").arg(x).arg(y));
}
Eğer ui-> widget_graph1 've' ui-> widget_graph2' üzerinde iki grafiğim varsa, bunu hem grafikler için nasıl yapabilirim? Davranışlarıma uyması için void CustomPlot :: showPointToolTip (QMouseEvent * olayı) {} 'işlev adını değiştirmeli miyim? Her iki grafiğin de mouse hover'daki koordinatları göstermesini istiyorum, teşekkürler – Wei
@Wei Eğer aldığım gibi 'QCustomPlot' kaynak kodundaki slotu uygularsanız, tüm grafikler için araç ipucu gösterilir. Ayrıca yuvaya başka bir sınıfta sahip olabilirsiniz ve 'mouseMove 'sinyalini yayınlayan arsa bulmak için' sender()' ı kullanabilirsiniz. – Nejat
Sadece QCustomPlot :: toolTip'i bulmayı başardım ve void QCustomPlot :: showPointToolTip (QMouseEvent * olayı) {} 'nı 'void QCustomPlot :: toolTip (QMouseEvent * olayı) {}' olarak değiştirdim. ? – Wei
, piksel başarısız Koord için. noktalar arasındaki koordinatları görüntülemek isterseniz , o zaman bu belki yararlı @Rajeshwar
void MainWindow::onMouseMoveGraph(QMouseEvent* evt)
{
int x = this->ui->customPlot->xAxis->pixelToCoord(evt->pos().x());
int y = this->ui->customPlot->yAxis->pixelToCoord(evt->pos().y());
qDebug()<<"pixelToCoord: "<<data.key<<data.value; //this is correct when step is greater 1 second
if (this->ui->customPlot->selectedGraphs().count()>0)
{
QCPGraph* graph = this->ui->customPlot->selectedGraphs().first();
QCPData data = graph->data()->lowerBound(x).value();
double dbottom = graph->valueAxis()->range().lower; //Yaxis bottom value
double dtop = graph->valueAxis()->range().upper; //Yaxis top value
long ptop = graph->valueAxis()->axisRect()->top(); //graph top margin
long pbottom = graph->valueAxis()->axisRect()->bottom(); //graph bottom position
// result for Y axis
double valueY = (evt->pos().y() - ptop)/(double)(pbottom - ptop)*(double)(dbottom - dtop) + dtop;
//or shortly for X-axis
double valueX = (evt->pos().x() - graph->keyAxis()->axisRect()->left()); //graph width in pixels
double ratio = (double)(graph->keyAxis()->axisRect()->right() - graph->keyAxis()->axisRect()->left())/(double)(graph->keyAxis()->range().lower - graph->keyAxis()->range().upper); //ratio px->graph width
//and result for X-axis
valueX=-valueX/ratio + graph->keyAxis()->range().lower;
qDebug()<<"calculated:"<<valueX<<valueY;
}
}
- 1. Fare üzerinde bulunan grafik noktalarının değerlerini gör
- 2. Çizim Fare çizim yaparken titreklik yapma Java
- 3. KineticJS - Fare ile Çizim Çizgileri
- 4. Fare altında pencere değerlerini alın
- 5. capybara üzerinde vurgulu fare
- 6. scatter arsa
- 7. Bir JPanel üzerinde SimpleWeightedGraph Çizim
- 8. Kenarlıksız Harita Üzerinde Çizim Çizgisi
- 9. Fare üzerinde daraltma satırını tıklatın
- 10. ggplot2 Scatter Plot Etiketler
- 11. Fare ile çizim yapmak, pikseller arasındaki boşluklara neden oluyor
- 12. Matplotlib Bir grafik üzerinde çizim grafikleri
- 13. Raphael.js kullanarak bir resmin üzerinde çizim yapma
- 14. Android'de bir Çizim üzerinde bir Animasyon Uygula
- 15. Python'da bir görüntü arka plan üzerinde çizim
- 16. Tuval üzerinde çizim yapmayan birden çok dikdörtgenler
- 17. Javascript Saptanan Denetim Tuşu Fare Üzerinde Düzenlendi
- 18. Trigger UpdatePanel fare üzerinde (araç ipucu olarak)
- 19. WPF liste kutusu, fare üzerinde öğeyi seçin
- 20. Etkinlik üzerinde bir fare işaretçisini nasıl kaplayacaksınız?
- 21. Fare üzerinde araç ipucu nasıl görüntülenir
- 22. Android çizim yolu
- 23. matplotlib scatter legend boyutu oluşturma
- 24. UADetector'ı Kullanma Robotları saptamak için
- 25. İçeriğe göre metin yönünü saptamak
- 26. Çizim Uygulaması Zoom Konsept
- 27. Ipyparallel scatter/gather ile yavaş yürütme
- 28. iPhone için çekirdek çizim kullanarak, x ekseninde çizim tarihi
- 29. Veri noktalarını python
- 30. MPAndroidChart LineChart özel vurgulanabilir çizim
(Bağlı sinyali
QCustomplot::MouseMove
ile) 'coordToPixel' piksel koordinatları için arsa koordinatları çevirir hızlı yoluolduğunu. Problemini nasıl çözdü? – Nejat