Title subtitle in Angular Smithchart component
Add a title to the Smith Chart
The title API adds a title to the Smith Chart. Use the text API to set the title text, and the visible API to toggle the title’s visibility. To add a subtitle and customize text styles, see the Title and Subtitle topic.
Update app.component.ts as shown in the following example to add a title.
import { Component } from '@angular/core';
import { SmithchartModule, TooltipRenderService, SmithchartLegendService } from '@syncfusion/ej2-angular-charts';
import { TitleModel } from '@syncfusion/ej2-charts';
@Component({
imports: [SmithchartModule],
providers: [TooltipRenderService, SmithchartLegendService],
standalone: true,
selector: 'app-container',
template: `<ejs-smithchart style='display: block;' id='container' [title]='title' height='350px'>
<e-seriesCollection>
<e-series [dataSource]='seriesdata1' name='Transmission1' reactance='reactance' resistance='resistance'></e-series>
<e-series [points]='seriespoints' name='Transmission2'></e-series>
</e-seriesCollection>
</ejs-smithchart>`
})
export class AppComponent {
public title: TitleModel = { text: 'Transmission lines applied for both impedance and admittance' };
public seriesdata1: object[] = [
{ resistance: 0, reactance: 0.05 }, { resistance: 0, reactance: 0.05 },
{ resistance: 0, reactance: 0.05 }, { resistance: 0, reactance: 0.05 },
{ resistance: 0, reactance: 0.05 }, { resistance: 0, reactance: 0.05 },
{ resistance: 0, reactance: 0.05 }, { resistance: 0, reactance: 0.05 },
{ resistance: 0, reactance: 0.05 }, { resistance: 0, reactance: 0.05 },
{ resistance: 0.3, reactance: 0.1 }, { resistance: 0.5, reactance: 0.2 },
{ resistance: 1.5, reactance: 0.5 }, { resistance: 2.0, reactance: 0.5 },
{ resistance: 2.5, reactance: 0.4 }, { resistance: 3.5, reactance: 0.0 },
{ resistance: 2.5, reactance: 0.4 }, { resistance: 3.5, reactance: 0.0 },
{ resistance: 2.5, reactance: 0.4 }, { resistance: 3.5, reactance: 0.0 },
{ resistance: 4.5, reactance: -0.5 }, { resistance: 5.0, reactance: -1.0 }
];
public seriespoints: object[] = [
{ resistance: 0, reactance: 0.15 }, { resistance: 0, reactance: 0.15 },
{ resistance: 0, reactance: 0.15 }, { resistance: 0.3, reactance: 0.2 },
{ resistance: 0.3, reactance: 0.2 }, { resistance: 0.3, reactance: 0.2 },
{ resistance: 0.3, reactance: 0.2 }, { resistance: 0.3, reactance: 0.2 },
{ resistance: 0.5, reactance: 0.4 }, { resistance: 1.0, reactance: 0.8 },
{ resistance: 2.5, reactance: 1.3 }, { resistance: 3.5, reactance: 1.6 },
{ resistance: 3.5, reactance: 1.6 }, { resistance: 3.5, reactance: 1.6 },
{ resistance: 4.5, reactance: 2.0 }, { resistance: 6.0, reactance: 4.5 },
{ resistance: 8, reactance: 6 }, { resistance: 10, reactance: 25 }
];
}import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));Title trim
Both title and subtitle of the smithchart can be trimmed if it exceeds the certain length. Trimming is enabled using [enableTrim] for title as well as subtitle. This length can be changed using the property [maximumWidth]. Also [font], [textAlignment] and [visibility] can be customized for title as well as subtitle.
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { SmithchartModule, TooltipRenderService, SmithchartLegendService } from '@syncfusion/ej2-angular-charts'
import { Component } from '@angular/core';
@Component({
imports: [
SmithchartModule
],
providers: [TooltipRenderService, SmithchartLegendService],
standalone: true,
selector: 'app-container',
template: `<ejs-smithchart style='display: block;' id='container' [title] ='title'>
<e-seriesCollection>
<e-series [dataSource]='seriesdata1' reactance='reactance' resistance='resistance'> </e-series>
</e-seriesCollection>
</ejs-smithchart>`
})
export class AppComponent {
public title:object = {
enableTrim: true,
maximumWidth: 70,
textAlignment: 'Center',
visible: true,
text: 'Impedance Transmission',
subtitle: {
text: 'Transmission',
visible: true,
textAlignment: 'Far',
enableTrim: true,
maximumWidth: 40
}
}
public seriesdata1: object[] = [
{ resistance: 10, reactance: 25 }, { resistance: 8, reactance: 6 },
{ resistance: 6, reactance: 4.5 }, { resistance: 4.5, reactance: 2 },
{ resistance: 3.5, reactance: 1.6 }, { resistance: 2.5, reactance: 1.3 },
{ resistance: 2, reactance: 1.2 }, { resistance: 1.5, reactance: 1 },
{ resistance: 1, reactance: 0.8 }, { resistance: 0.5, reactance: 0.4 },
{ resistance: 0.3, reactance: 0.2 }, { resistance: 0, reactance: 0.15 },
];
}import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));