Approaches to improve chart efficiency in C# winforms?
I have a simple chart that prints values read by a photoresistor. Also the chart prints 2 thresholds. My problem is that when more than 300 or 400 points are printed in the chart, it becomes quite unreadable (extraordinarily difficult to read or comprehend all the values printed).
Look at this:
I thought that using an incremental counter and doing this:
if (i > 300) {
chart1.Invoke(new Action(() => {chart1.Series[0].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[1].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[2].Points.Clear(); }));
i = 0;
}
The problem is solved as my chart becomes empty and readable again, but I don't want to clear and lose all my previous data.
What alternative solutions can I try so my data won't be deleted, but keeping my chart readable?
c# .net winforms charts mschart
add a comment |
I have a simple chart that prints values read by a photoresistor. Also the chart prints 2 thresholds. My problem is that when more than 300 or 400 points are printed in the chart, it becomes quite unreadable (extraordinarily difficult to read or comprehend all the values printed).
Look at this:
I thought that using an incremental counter and doing this:
if (i > 300) {
chart1.Invoke(new Action(() => {chart1.Series[0].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[1].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[2].Points.Clear(); }));
i = 0;
}
The problem is solved as my chart becomes empty and readable again, but I don't want to clear and lose all my previous data.
What alternative solutions can I try so my data won't be deleted, but keeping my chart readable?
c# .net winforms charts mschart
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16
add a comment |
I have a simple chart that prints values read by a photoresistor. Also the chart prints 2 thresholds. My problem is that when more than 300 or 400 points are printed in the chart, it becomes quite unreadable (extraordinarily difficult to read or comprehend all the values printed).
Look at this:
I thought that using an incremental counter and doing this:
if (i > 300) {
chart1.Invoke(new Action(() => {chart1.Series[0].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[1].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[2].Points.Clear(); }));
i = 0;
}
The problem is solved as my chart becomes empty and readable again, but I don't want to clear and lose all my previous data.
What alternative solutions can I try so my data won't be deleted, but keeping my chart readable?
c# .net winforms charts mschart
I have a simple chart that prints values read by a photoresistor. Also the chart prints 2 thresholds. My problem is that when more than 300 or 400 points are printed in the chart, it becomes quite unreadable (extraordinarily difficult to read or comprehend all the values printed).
Look at this:
I thought that using an incremental counter and doing this:
if (i > 300) {
chart1.Invoke(new Action(() => {chart1.Series[0].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[1].Points.Clear(); }));
chart1.Invoke(new Action(() => { chart1.Series[2].Points.Clear(); }));
i = 0;
}
The problem is solved as my chart becomes empty and readable again, but I don't want to clear and lose all my previous data.
What alternative solutions can I try so my data won't be deleted, but keeping my chart readable?
c# .net winforms charts mschart
c# .net winforms charts mschart
edited Jan 1 at 18:41
Daniel A. White
150k37296376
150k37296376
asked Jan 1 at 17:53


Keka BronKeka Bron
10610
10610
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16
add a comment |
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16
add a comment |
1 Answer
1
active
oldest
votes
When you go to add a new point, check if you have more than 300 points. If you do, then remove the oldest point and add the newest one.
if (chart1.Series[0].Points.Count > 300)
{
chart1.Series[0].Points.RemoveAt(0);
}
Then add your new point.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997657%2fapproaches-to-improve-chart-efficiency-in-c-sharp-winforms%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
When you go to add a new point, check if you have more than 300 points. If you do, then remove the oldest point and add the newest one.
if (chart1.Series[0].Points.Count > 300)
{
chart1.Series[0].Points.RemoveAt(0);
}
Then add your new point.
add a comment |
When you go to add a new point, check if you have more than 300 points. If you do, then remove the oldest point and add the newest one.
if (chart1.Series[0].Points.Count > 300)
{
chart1.Series[0].Points.RemoveAt(0);
}
Then add your new point.
add a comment |
When you go to add a new point, check if you have more than 300 points. If you do, then remove the oldest point and add the newest one.
if (chart1.Series[0].Points.Count > 300)
{
chart1.Series[0].Points.RemoveAt(0);
}
Then add your new point.
When you go to add a new point, check if you have more than 300 points. If you do, then remove the oldest point and add the newest one.
if (chart1.Series[0].Points.Count > 300)
{
chart1.Series[0].Points.RemoveAt(0);
}
Then add your new point.
answered Jan 2 at 17:33


BaddackBaddack
9491125
9491125
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997657%2fapproaches-to-improve-chart-efficiency-in-c-sharp-winforms%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Becuase you didn't explain what "unreadable" means ... it pretty obvious that it will looks bad if you wana put 400 points in less than 400 pixels (especially if line has thickness more than 1px)
– Selvin
Jan 1 at 18:05
@Selvin thanks for the explanation, try to remember that although it is not mandatory, the Exchange community recommends to explain why you down vote a post link here so we can all improve our posts...
– Keka Bron
Jan 1 at 18:11
You may look into setting up a scale view window. A few examples
– TaW
Jan 1 at 20:16