Her ikinci/üçüncü/ileri öğeyi lejanttan gizlemem gerekiyor. JFreeChart'da bunu başarmanın bir yolu var mı? teşekkürler!jFreeChart: Öğeleri efsaneden nasıl gizleyebilirim?
6
A
cevap
4
Tamam, sadece kendim yaptım. Bu şekilde her ikinci öğeyi efsaneden kaldırırım. lütfen yorum bırakın!
LegendItemCollection legendItemsOld = plot.getLegendItems();
final LegendItemCollection legendItemsNew = new LegendItemCollection();
for(int i = 0; i< legendItemsOld.getItemCount(); i++){
if(!(i%2 == 0)){
legendItemsNew.add(legendItemsOld.get(i));
}
}
LegendItemSource source = new LegendItemSource() {
LegendItemCollection lic = new LegendItemCollection();
{lic.addAll(legendItemsNew);}
public LegendItemCollection getLegendItems() {
return lic;
}
};
chart.addLegend(new LegendTitle(source));
9
Yukarıdaki öneriyi denedim, ancak benim için işe yaramadı. Diziden yalnızca efsaneyi kaldırmak istiyorsanız, setSeriesVisibleInLegend()
yöntemiyle bunu yapabilirsiniz. Benim senaryolarımda bazı serilerimin bir efsane anahtarı yoktu. Bir efsane anahtarı yoksa, diziler efsanede görünmemelidir. Aşağıdaki kod ile bu uygulamaya:
for(int i = 0; i < seriesList.size(); i++){
if(seriesList.get(i).getKey() == null || seriesList.get(i).getKey().equals("")){
graph.getXYPlot().getRenderer().setSeriesVisibleInLegend(i, Boolean.FALSE);
}
}
seriesList
O grafik oluşturmak için grafik verilerin tümünü tutan yarattı seriesData
pojo yılların listesidir. seriesData
nesnesinin anahtar değeri null
veya = ""
ise, dizinin açıklaması gösterilmeyecektir.
İlgili konular
- 1. JFreeChart
- 2. JfreeChart
- 3. Lejantı, JFreeChart
- 4. Konsol penceresini nasıl gizleyebilirim?
- 5. UITableview'deki seçimi nasıl gizleyebilirim?
- 6. NetBeans projesinde JFreeChart nasıl görüntülenir
- 7. JFreeChart XYSeries yaxis nasıl gizlenir?
- 8. Matplotlib 3d'deki eksenleri nasıl gizleyebilirim?
- 9. DataGridView - "yeni" satırı nasıl gizleyebilirim?
- 10. XML'de PropertyGid özelliğini nasıl gizleyebilirim?
- 11. JFreeChart içinde temel histogram
- 12. Yüksek Kalite JFreeChart grafikleri
- 13. JFreechart: Kabarcık grafiklerinde kesilmeyi önleme
- 14. JFreeChart yakınlaştırmadan bir bölge seçin
- 15. JFreechart XYPlot Çakışan Veri Eserleri
- 16. Uygulama formumu Windows Görev Çubuğunda nasıl gizleyebilirim?
- 17. Liste görünümü WPF'nin başlığını nasıl gizleyebilirim?
- 18. Göstergenin bölümünü ggplot2'yi kullanarak nasıl gizleyebilirim?
- 19. Erişilebilirlik ağacından (gizli) bir NSView'ı nasıl gizleyebilirim?
- 20. Seri bir HighCharts efsanesinden nasıl gizleyebilirim?
- 21. Etkin olmayan ürünleri uygulama faturalandırmasından nasıl gizleyebilirim?
- 22. Bir UIAlertController'da başlık/mesaj çerçevesini nasıl gizleyebilirim?
- 23. C# epplus'ta çalışma sayfasını nasıl gizleyebilirim?
- 24. X, Y Ekseni-JfreeChart için Ayar Aralığı
- 25. JFreeChart Y ekseni içinde tamsayı değerleri görüntüler
- 26. JfreeChart içinde Otomatik Ölçek Y Ekseni
- 27. JFreeChart kullanarak yalnızca bir veri kümesi satırlarla çizilecek nasıl yapılır?
- 28. UI öğeleri nasıl adlandırılır?
- 29. Html öğeleri nasıl kaldırılır?
- 30. Dizi öğeleri nasıl aktarılır?
Bu dinamik bir çözüm için iyidir. Ayrıca, renderer.getLegendItems() ve plot.setFixedLegendItems() yöntemlerini kullanmak da mümkündür. Bu daha basit bir çözüm sunar, ancak sabit efsaneyi ayarladıktan sonra efsaneniz değişmeyecekse iyidir. Çözümün ayrıntılarını oluşturmak için zamanım yok, ancak AbstractXYItemRenderer ve XYPlot'ta getLegendItems ve setFixedLegendItems'i arayın. – Jason