2012-10-18 2 views
2

Первое сообщение здесь, но было здесь 1000 раз, очень нравится вклад других участников. Я знаю, что многие из вас закатывают глаза, но мне не с чем начать. У меня есть умеренное понимание C#, базового MS C и несколько больше Microchip C и ASM. Пытаясь сделать приложение для WinCE6 основным контроллером домашней автоматизации, у меня большая часть моего модуля работает, и нет времени, чтобы собрать фрагменты, иметь базу данных SQLCE с 50 столбцами и 1440 строками, то есть для 50 устройств и 1440 минут в течение 1 дня все контролы будут выполнять свою функцию каждый день. В настоящее время база данных заполнена случайными данными для тестирования, теперь я хочу создать визуальный элемент управления для создания данных, но не могу найти версию CE MSChart, поэтому я решил сделать приложение x86, где я могу создавать свои данные. Моя трудность в основном происходит из-за неопытности, я могу добавить или вставить точку в серию, но они не будут вставляться в том порядке, в котором я хочу.MSChart insert, move, delete point

В этих примерах вы можете видеть, чего я хотел бы достичь; 1 нет данных. Все данные 1440 будут иметь одинаковое значение. 2 добавленных пункта к 200 400 600 800 1 000 1100. 3 перемещенная точка при 400 на Y от -270 до 350. 4 удаленная точка на 200 400 600 800.

Открыт для всех предложений. Не могу загрузить фотографии, пожалуйста, перейдите по ссылкам. Благодаря

imgur.com/zsBla.jpg 
imgur.com/y4wsn.jpg 
imgur.com/Yo4XH.jpg 
imgur.com/7FgHn.jpg 


private void chart1_MouseClick(object sender, MouseEventArgs e) 
    { 
     var pos = e.Location; 
     clickPosition = pos; 
     var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.PlottingArea); 
     foreach (var result in results) 
     { 
      if (result.ChartElementType == ChartElementType.PlottingArea) 
      { 
       var xVal = result.ChartArea.AxisX.PixelPositionToValue(pos.X); 
       var yVal = result.ChartArea.AxisY.PixelPositionToValue(pos.Y); 
       //tooltip.Show("x=" + xVal + ", y=" + yVal, this.chart1, e.Location.X, e.Location.Y - 15); 
       tk++; 
       chart1.Series[0].Points.InsertXY (0,tk,yVal); 
       //chart1.Series[0].Sort(PointSortOrder.Ascending);//.Points.InsertXY(0,xVal, yVal); 
       Tick.Text = tk.ToString(); 
      } 

     } 
    } 
+0

Вы хотите добавить точку там, где это вы нажимаете на диаграмму? – Quantbuff

+0

Я знаю, что я прошу многого, но любой может задать простой вопрос. Как создать бесконечный datapoint, где нет mater, как может datapoint я вхожу в него, всегда будет держать свое значение, как ни в какой другой точке, он просто создаст горизонтальную линию. – Elcast

+0

Извините, я не видел вашу заметку там, да, я хочу добавить точку, где я нажимаю, на самом деле я могу сделать это прямо сейчас, что у меня проблема, что я хочу, чтобы точки 0 и 1440 оставались там и добавляли точки beetwen они, но координаты, обнаруживающие, что я использую его пиксели использования на участке графика, а не в полном масштабе 1-1440 – Elcast

ответ

0

Elcast, глядя на ваш вопрос он выглядит как ваша реальная проблема в том, что вы хотите, чтобы ваши данные, чтобы быть «один-к-одному», и вы почти получите его с отсортированными данными, но, вероятно, Фактическая проблема заключается в том, как вы сортируете данные.

я соединял быстрый демонстрационный пример, который я надеюсь, поможет решить вашу проблему:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Chart1.Series(0).ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line 
     Chart1.Series(0).Points.AddXY(0, 10) 
     Chart1.Series(0).Points.AddXY(1440, 100) 
     Chart1.Series(0).Points.AddXY(600, 80) 

     Chart2.Series(0).ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line 
     Chart2.Series(0).Points.AddXY(0, 10) 
     Chart2.Series(0).Points.AddXY(1440, 100) 
     Chart2.Series(0).Points.AddXY(600, 80) 

     Chart1.DataManipulator.Sort(System.Windows.Forms.DataVisualization.Charting.PointSortOrder.Descending, Chart1.Series(0)) 

    End Sub 

Что дает это (слева: Сортировано, Справа: Unsorted) enter image description here

Смежные вопросы