How to properly set font for x and y axis


Author
Message
Devin Ellis
Devin Ellis
Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)
Group: Forum Members
Posts: 9, Visits: 87
I have two methods used on my charts for setting the fonts
Most of the charts use SetupChartAxes and some use 
SetXAxisLabels (sorry but you have no code insert 
and when I pasted the code formatting was remove). The SetXAxisLabels is set to bold and the chart below uses that
but the labels do not come out bold. Why is that?


Images

https://www.nevron.com/forum/uploads/images/ac25ea03-b296-41eb-93c5-4582.png






Code


Snippetpublic virtual void SetupChartAxes ( NChart chart Wink{    if ( chart == null Wink        throw new ArgumentNullException ( "chart required" Wink;     var scaleY = new NLinearScaleConfigurator ();    if ( scaleY == null Wink        throw new NullReferenceException ( "Failed to create y axis" Wink;     scaleY.MajorGridStyle.LineStyle.Pattern = LinePattern.Dash;    scaleY.MajorGridStyle.ShowAtWalls = new ChartWallType [] { ChartWallType.Back };    scaleY.InnerMajorTickStyle.Visible = false;     scaleY.LabelStyle.TextStyle.FontStyle.Style = FontStyle.Bold;    scaleY.LabelStyle.TextStyle.FontStyle.EmSize = new NLength ( DefaultFontSize, NGraphicsUnit.Point Wink;    scaleY.LabelStyle.TextStyle.FontStyle.Name = DefaultFontName;     chart.Axis ( StandardAxis.PrimaryY Wink.ScaleConfigurator = scaleY;     var scaleX = new NLinearScaleConfigurator ();    if ( scaleX == null Wink        throw new NullReferenceException ( "Failed to create x axis" Wink;     scaleX.MajorGridStyle.LineStyle.Pattern = LinePattern.Dash;    scaleX.MajorGridStyle.ShowAtWalls = new ChartWallType [] { ChartWallType.Back };    scaleX.InnerMajorTickStyle.Visible = false;     scaleX.LabelStyle.TextStyle.FontStyle.Style = FontStyle.Bold;    scaleX.LabelStyle.TextStyle.FontStyle.EmSize = new NLength ( DefaultFontSize, NGraphicsUnit.Point Wink;    scaleX.LabelStyle.TextStyle.FontStyle.Name = DefaultFontName;     chart.Axis ( StandardAxis.PrimaryX Wink.ScaleConfigurator = scaleX;} public virtual void SetXAxisLabels ( NChart chart Wink{    if ( chart == null Wink        throw new ArgumentNullException ( "chart required" Wink;     // add scale to chart    // hide axis ruler, ticks and automatic labels    var scaleX = new NDateTimeScaleConfigurator ();    if ( scaleX == null Wink        throw new NullReferenceException ( "Failed to create x axis" Wink;     chart.Axis ( StandardAxis.PrimaryX Wink.ScaleConfigurator = scaleX;     scaleX.AutoLabels = false;    scaleX.UseOrigin = false;     scaleX.RulerStyle.BorderStyle.Width = new NLength ( 1 Wink;    scaleX.OuterMajorTickStyle.Length = new NLength ( 5 Wink;    scaleX.InnerMajorTickStyle.Length = new NLength ( 0 Wink;     scaleX.LabelStyle.TextStyle.FontStyle.Style = FontStyle.Bold;    scaleX.LabelStyle.TextStyle.FontStyle.EmSize = new NLength ( DefaultFontSize, NGraphicsUnit.Point Wink;    scaleX.LabelStyle.TextStyle.FontStyle.Name = DefaultFontName; }



Replies
Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Devin.

The code that modifies the font style to bold looks ok however there may be other code that overrides the settings you have for the x axis as we tested with:

private void Form1_Load(object sender, EventArgs e)
{
NChart chart = nChartControl1.Charts[0];
chart.BoundsMode = BoundsMode.Stretch;
chart.Margins = new NMarginsL(10);
chart.DockMode = PanelDockMode.Top;
chart.Size = new NSizeL(new NLength(100, NRelativeUnit.ParentPercentage), new NLength(50, NRelativeUnit.ParentPercentage));
NBarSeries bar1 = new NBarSeries();
bar1.Values.Add(10);
bar1.Values.Add(20);
bar1.Values.Add(30);
chart.Series.Add(bar1);

SetupChartAxes(chart);


}

public virtual void SetupChartAxes(NChart chart)
{
if (chart == null)
throw new ArgumentNullException("chart required");
var scaleY = new NLinearScaleConfigurator();
if (scaleY == null)
throw new NullReferenceException("Failed to create y axis");
scaleY.MajorGridStyle.LineStyle.Pattern = LinePattern.Dash;
scaleY.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back };
scaleY.InnerMajorTickStyle.Visible = false;
scaleY.LabelStyle.TextStyle.FontStyle.Style = FontStyle.Bold;
chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;

var scaleX = new NLinearScaleConfigurator();
if (scaleX == null)
throw new NullReferenceException("Failed to create x axis");
scaleX.MajorGridStyle.LineStyle.Pattern = LinePattern.Dash;
scaleX.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back };
scaleX.InnerMajorTickStyle.Visible = false;
scaleX.LabelStyle.TextStyle.FontStyle.Style = FontStyle.Bold;
chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;
}
and the formatting was OK. Can you post a complete example which replicates the whole chart? (when posting you can first copy the code to notepad to remove any formatting and then copy the code from there).



Best Regards,
Nevron Support Team


Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Devin,
Please post sensitive code to support@nevron.com. We are not able to see what the problem is (as the code does not compile and does not replicate the problem). Our guess is that the chart uses staggering + auto scaling for the x axis to resolve label overlap which occurs on the x axis - you can check if this is the case if you disable label overlap resolve using:

NOrdinalScaleConfigurator scaleX = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator;
scaleX.LabelFitModes = new LabelFitMode[0];

Hope this helps - let us know if the problem persists.




Best Regards,
Nevron Support Team


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search