iOS Charts does not show value labels when more than 3 data sets are plotted











up vote
0
down vote

favorite












I am using the charts framework for iOS in Objective-C.



I am trying to plot data value labels (y values) on a chart which has 4 data sets. if there are 1, 2 or 3 data sets on my chart, the label values show up just fine. If I add a 4th data set, the label values do not show up at all.



I am using a NSMutableArray of UIColor objects for each dataset. I set the label color to [UIColor clearColor] when I don't want the label to show up and I set it to [UIColor whiteColor] when I do want it to show up, for each data point.



NSMutableArray *labelColors = [[NSMutableArray alloc] init];

for (NSDictionary *data in dataArray )
{
if (condition)
{
[labelColors addObject:UIColor.whiteColor];
}
else
{
[labelColors addObject:UIColor.clearColor];
}
}
dataSet.valueColors = labelColors;


Again, this technique works fine if I plot 1, 2, or 3 data sets on my X axis, but if I plot a 4th data set, it stops drawing labels completely. The way I have my chart set up, two data sets are on the left Y axis and two data sets are on the right Y axis.



Does anybody know why my labels are not showing?










share|improve this question
























  • Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
    – CodeChanger
    Nov 12 at 10:07










  • @CodeChanger I added more code showing how I set up my chart.
    – Jackson
    Nov 12 at 18:48















up vote
0
down vote

favorite












I am using the charts framework for iOS in Objective-C.



I am trying to plot data value labels (y values) on a chart which has 4 data sets. if there are 1, 2 or 3 data sets on my chart, the label values show up just fine. If I add a 4th data set, the label values do not show up at all.



I am using a NSMutableArray of UIColor objects for each dataset. I set the label color to [UIColor clearColor] when I don't want the label to show up and I set it to [UIColor whiteColor] when I do want it to show up, for each data point.



NSMutableArray *labelColors = [[NSMutableArray alloc] init];

for (NSDictionary *data in dataArray )
{
if (condition)
{
[labelColors addObject:UIColor.whiteColor];
}
else
{
[labelColors addObject:UIColor.clearColor];
}
}
dataSet.valueColors = labelColors;


Again, this technique works fine if I plot 1, 2, or 3 data sets on my X axis, but if I plot a 4th data set, it stops drawing labels completely. The way I have my chart set up, two data sets are on the left Y axis and two data sets are on the right Y axis.



Does anybody know why my labels are not showing?










share|improve this question
























  • Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
    – CodeChanger
    Nov 12 at 10:07










  • @CodeChanger I added more code showing how I set up my chart.
    – Jackson
    Nov 12 at 18:48













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am using the charts framework for iOS in Objective-C.



I am trying to plot data value labels (y values) on a chart which has 4 data sets. if there are 1, 2 or 3 data sets on my chart, the label values show up just fine. If I add a 4th data set, the label values do not show up at all.



I am using a NSMutableArray of UIColor objects for each dataset. I set the label color to [UIColor clearColor] when I don't want the label to show up and I set it to [UIColor whiteColor] when I do want it to show up, for each data point.



NSMutableArray *labelColors = [[NSMutableArray alloc] init];

for (NSDictionary *data in dataArray )
{
if (condition)
{
[labelColors addObject:UIColor.whiteColor];
}
else
{
[labelColors addObject:UIColor.clearColor];
}
}
dataSet.valueColors = labelColors;


Again, this technique works fine if I plot 1, 2, or 3 data sets on my X axis, but if I plot a 4th data set, it stops drawing labels completely. The way I have my chart set up, two data sets are on the left Y axis and two data sets are on the right Y axis.



Does anybody know why my labels are not showing?










share|improve this question















I am using the charts framework for iOS in Objective-C.



I am trying to plot data value labels (y values) on a chart which has 4 data sets. if there are 1, 2 or 3 data sets on my chart, the label values show up just fine. If I add a 4th data set, the label values do not show up at all.



I am using a NSMutableArray of UIColor objects for each dataset. I set the label color to [UIColor clearColor] when I don't want the label to show up and I set it to [UIColor whiteColor] when I do want it to show up, for each data point.



NSMutableArray *labelColors = [[NSMutableArray alloc] init];

for (NSDictionary *data in dataArray )
{
if (condition)
{
[labelColors addObject:UIColor.whiteColor];
}
else
{
[labelColors addObject:UIColor.clearColor];
}
}
dataSet.valueColors = labelColors;


Again, this technique works fine if I plot 1, 2, or 3 data sets on my X axis, but if I plot a 4th data set, it stops drawing labels completely. The way I have my chart set up, two data sets are on the left Y axis and two data sets are on the right Y axis.



Does anybody know why my labels are not showing?







ios objective-c charts ios-charts






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 at 5:04

























asked Nov 12 at 0:59









Jackson

2,19632749




2,19632749












  • Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
    – CodeChanger
    Nov 12 at 10:07










  • @CodeChanger I added more code showing how I set up my chart.
    – Jackson
    Nov 12 at 18:48


















  • Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
    – CodeChanger
    Nov 12 at 10:07










  • @CodeChanger I added more code showing how I set up my chart.
    – Jackson
    Nov 12 at 18:48
















Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
– CodeChanger
Nov 12 at 10:07




Hey Jackson please add some more details or screen shot of your issue so we can help you on this.
– CodeChanger
Nov 12 at 10:07












@CodeChanger I added more code showing how I set up my chart.
– Jackson
Nov 12 at 18:48




@CodeChanger I added more code showing how I set up my chart.
– Jackson
Nov 12 at 18:48












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










I fixed this with one line in viewDidLoad where I first set up my chart.



_chartView.maxVisibleCount = 500;


I guess after adding the 4th data set I had more than the default value of maxVisibleCount (whatever that is) and when that happens no data labels are drawn regardless of other settings.



I figured this out when modifying my data set's drawValuesEnabled field and inside the auto complete text it said "this value is ignored when maxVisibleCount is reached".






share|improve this answer





















    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',
    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
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53254788%2fios-charts-does-not-show-value-labels-when-more-than-3-data-sets-are-plotted%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








    up vote
    0
    down vote



    accepted










    I fixed this with one line in viewDidLoad where I first set up my chart.



    _chartView.maxVisibleCount = 500;


    I guess after adding the 4th data set I had more than the default value of maxVisibleCount (whatever that is) and when that happens no data labels are drawn regardless of other settings.



    I figured this out when modifying my data set's drawValuesEnabled field and inside the auto complete text it said "this value is ignored when maxVisibleCount is reached".






    share|improve this answer

























      up vote
      0
      down vote



      accepted










      I fixed this with one line in viewDidLoad where I first set up my chart.



      _chartView.maxVisibleCount = 500;


      I guess after adding the 4th data set I had more than the default value of maxVisibleCount (whatever that is) and when that happens no data labels are drawn regardless of other settings.



      I figured this out when modifying my data set's drawValuesEnabled field and inside the auto complete text it said "this value is ignored when maxVisibleCount is reached".






      share|improve this answer























        up vote
        0
        down vote



        accepted







        up vote
        0
        down vote



        accepted






        I fixed this with one line in viewDidLoad where I first set up my chart.



        _chartView.maxVisibleCount = 500;


        I guess after adding the 4th data set I had more than the default value of maxVisibleCount (whatever that is) and when that happens no data labels are drawn regardless of other settings.



        I figured this out when modifying my data set's drawValuesEnabled field and inside the auto complete text it said "this value is ignored when maxVisibleCount is reached".






        share|improve this answer












        I fixed this with one line in viewDidLoad where I first set up my chart.



        _chartView.maxVisibleCount = 500;


        I guess after adding the 4th data set I had more than the default value of maxVisibleCount (whatever that is) and when that happens no data labels are drawn regardless of other settings.



        I figured this out when modifying my data set's drawValuesEnabled field and inside the auto complete text it said "this value is ignored when maxVisibleCount is reached".







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 at 5:04









        Jackson

        2,19632749




        2,19632749






























            draft saved

            draft discarded




















































            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53254788%2fios-charts-does-not-show-value-labels-when-more-than-3-data-sets-are-plotted%23new-answer', 'question_page');
            }
            );

            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







            Popular posts from this blog

            Guess what letter conforming each word

            Port of Spain

            Run scheduled task as local user group (not BUILTIN)