c# एमएस asp.net रडार चार्ट का कुरूप ड्राइंग



charts asp.net-charts (1)

WPF निर्देशांक पिक्सेल के केंद्र को संदर्भित करता है, कोनों के नहीं, इसलिए अपने सभी निर्देशांक में 0.5 जोड़कर देखें। यह दिखाने के लिए कि निम्नलिखित xaml पर विचार करें:

<Canvas>
<Line X1="50" Y1="50" X2="100" Y2="50" Stroke="Black" StrokeThickness="1" />
<Line X1="50" Y1="50" X2="50" Y2="100" Stroke="Black" StrokeThickness="1" />
<Line X1="50" Y1="50" X2="100" Y2="100" Stroke="Black" StrokeThickness="1" />
</Canvas>

यहां सामान्य रूप से गाया जाता है और फिर प्रत्येक समन्वय के लिए 0.5 पिक्सेल ऑफ़सेट लागू होता है:

मैं एमएस asp.net चार्टिंग नियंत्रण का उपयोग कर रहा हूँ और मैं कुछ मानों को आकर्षित करने के लिए रडार चार्ट का उपयोग कर रहा हूं, लेकिन किसी कारण के लिए, एक्स-एक्स की रेखा वास्तव में मध्य में नहीं मिलती है

मैंने LineWidth = 1 निर्धारित किया है, लेकिन लाइन अभी भी 2 पिक्सेल की तरह लगती है और कुछ मार्कर पूरी तरह से बंद हैं, या शायद यह पूरी तरह से बंद लाइन है। हो सकता है कि मेरा टेक्स्ट थोड़ा सा भी बंद हो, इसलिए कृपया चित्र देखें और उम्मीद है कि आप मेरी समस्या को समझेंगे। =)

संहिता जो चार्ट को उत्पन्न करती है:

// Populate series data
Chart chart1 = new Chart();
chart1.ChartAreas.Add(new ChartArea("ChartArea1"));

chart1.Height = new Unit(380);
chart1.Width = new Unit(880);
//chart1.AntiAliasing = AntiAliasingStyles.Graphics;  
//chart1.BackColor = Color.Transparent;
chart1.Customize += new EventHandler(Chart_Customize);

// Show as 3D
chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;
chart1.ChartAreas["ChartArea1"].AxisY.IntervalAutoMode
    = IntervalAutoMode.FixedCount;
chart1.ChartAreas["ChartArea1"].AxisY.Interval = 10;
chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 100;

chart1.ChartAreas["ChartArea1"].AxisY.IsReversed = true;

chart1.ChartAreas[0].AxisY.LineWidth = 1;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;

List<string> names = new List<string>();
int namecounter = 1;
foreach (var p in Model.Participants)
{
  if (SessionHandle.ShowNamesInDiagrams)
    names.Add(p.Person.Name);
  else
    names.Add(namecounter.ToString());
  namecounter++;
}

#region firstresult
if (SessionHandle.ShowFirstResult)
{
  chart1.Series.Add(new Series("FirstResult"));
  List<double> firstresult = new List<double>();
  foreach (var p in Model.Participants)
  {
    var resultSummary = from r in Model.ResultSummary
                        where r.userID == p.ParentID && Model
                            .Modules
                            .Where(x => x.hasResult)
                            .ToList()
                            .Exists(x => x.ID == r.moduleID)
                        select r;
    firstresult.Add(resultSummary.Sum(x => x.scorePercent)
                    / Model.Modules.Where(x => x.hasResult).Count());
  }

  chart1.Series["FirstResult"].Points.DataBindXY(names, firstresult);
  // Set radar chart type
  chart1.Series["FirstResult"].ChartType = SeriesChartType.Radar;

  // Set radar chart style (Area, Line or Marker)
  chart1.Series["FirstResult"]["RadarDrawingStyle"] = "Marker";
  chart1.Series["FirstResult"].Color = Color.DarkBlue;
  chart1.Series["FirstResult"].MarkerImage
      = Url.Content("~/Content/Images/firstresult.png");

  // Set circular area drawing style (Circle or Polygon)
  chart1.Series["FirstResult"]["AreaDrawingStyle"] = "Circle";

  // Set labels style (Auto, Horizontal, Circular or Radial)
  chart1.Series["FirstResult"]["CircularLabelsStyle"] = "Horizontal";
}
#endregion




radar-chart