title: Draw graphs - show only single points
body: <p>(<em>C # Application for WPF</em>)</p>
  
  <p>I have a problem and I have to "draw" a coordinate system and enter only the coordinates (without lines) as seen in the picture.</p>
  
  <p><a href="https://i.stack.imgur.com/zcvB7.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zcvB7.png" alt="Here you can see the coordinate system with the points. Later, only the coordinates with a circle or a point are to be specified."></a></p>
  
  <p>I would like to use a library, because I also have to draw a frame and I thought with a library would it be easy.
  So I've discovered GnuPlot, Oxyplot and draw myself. GnuPlot is unfortunately stupid since it has no library for a C # application. (Or if you have one, please let me know). Therefore, I used OxyPlot, but unfortunately OxyPlot shows me only the coordinate system.
  Now to my question.
  Is there anything better to draw coordinate systems with the coordinates?
  It should meet the following requirements:</p>
  
  <ul>
  <li>It should be a preview application, that is, if I change the size it should happen directly</li>
  <li>I would like to make a frame, so it should help me in the process</li>
  <li>there should be a library</li>
  <li>it should be for a C # application</li>
  <li>I would like to be first point marks for the X, Y coordinates, but later it should be circles with a circle diameter</li>
  <li>later as a Bitmap</li>
  </ul>
  
  <p>As mentioned above, I've used it with OxyPlot, but unfortunately it does not draw a graph (I used the sample documentation)</p>
  
  <p>Maybe you have better ideas / a solution for OxyPlot.</p>
  
  <p>Thanks in advance and I am happy about every reply.</p>
  
  <p><strong>XAML:</strong></p>
  
  <pre><code> &lt;Window x:Class="TestOxyPlot.MainWindow"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:oxy="http://oxyplot.org/wpf"
              xmlns:local="clr-namespace:TestOxyPlot"
              mc:Ignorable="d"
              Title="MainWindow" Height="350" Width="525"&gt;
          &lt;Grid&gt;
              &lt;oxy:Plot x:Name="oxyPlot" Title="{Binding Title}" Margin="207,53,0,0"&gt;
                  &lt;oxy:Plot.Series&gt;
                      &lt;oxy:LineSeries ItemsSource="{Binding Points}"/&gt;
                  &lt;/oxy:Plot.Series&gt;
              &lt;/oxy:Plot&gt;
              &lt;TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="44,64,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" MouseLeave="textBox_MouseLeave" TextChanged="textBox_TextChanged"/&gt;
              &lt;TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="44,101,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" TextChanged="textBox1_TextChanged"/&gt;
              &lt;Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="68,174,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/&gt;
          &lt;/Grid&gt;
      &lt;/Window&gt;
  </code></pre>
  
  <hr>
  
  <pre><code>  using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows;
      using System.Windows.Controls;
      using System.Windows.Data;
      using System.Windows.Documents;
      using System.Windows.Input;
      using System.Windows.Media;
      using System.Windows.Media.Imaging;
      using System.Windows.Navigation;
      using System.Windows.Shapes;
      using OxyPlot;
  
      namespace TestOxyPlot
      {
          /// &lt;summary&gt;
          /// Interaktionslogik für MainWindow.xaml
          /// &lt;/summary&gt;
          public partial class MainWindow : Window
          {
              public MainWindow()
              {
                  InitializeComponent();
                  this.Title = "Example 2";
                  this.Points = new List&lt;DataPoint&gt;
                      {
                                        new DataPoint(0, 4),
                                        new DataPoint(10, 13),
                                        new DataPoint(20, 15),
                                        new DataPoint(30, 16),
                                        new DataPoint(40, 12),
                                        new DataPoint(50, 12)
                                    };
  
  
              }
              public string Title { get; private set; }
  
              public IList&lt;DataPoint&gt; Points { get; private set; }
  
              private void textBox_MouseLeave(object sender, MouseEventArgs e)
              {
  
  
             }
  
              private void textBox_TextChanged(object sender, TextChangedEventArgs e)
              {
                  try
                  {
                      oxyPlot.Width = Int32.Parse(textBox.Text);
                  }
                  catch (Exception error)
                  {
                      MessageBox.Show("Message: " + error);
                  }
  
              }
  
              private void button_Click(object sender, RoutedEventArgs e)
              {
  
              }
  
              private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
              {
                  try
                  {
                      oxyPlot.Width = Int32.Parse(textBox.Text);
                  }
                  catch (Exception error)
                  {
                      MessageBox.Show("Message: " + error);
                  }
              }
          }
      }
  </code></pre>