Home » Table Functions » Understanding the table.cell_set_text_halign() Function in Pine Script

Understanding the table.cell_set_text_halign() Function in Pine Script

Photo of author
Published on

The table.cell_set_text_halign()is designed to set the horizontal alignment of the text within a cell of a table. This tutorial will guide you through the syntax, arguments, and practical applications of this function, ensuring that your tables are not only informative but also aesthetically pleasing.


The syntax for the table.cell_set_text_halign() function is as follows:

table.cell_set_text_halign(table_id, column, row, text_halign) → void


Let’s break down the arguments required to use this function effectively:

  • table_id (series table): This is the identifier for the table object you wish to modify. It links the function call to a specific table created in your script.
  • column (series int): This specifies the index of the column containing the cell you want to align horizontally. Indexing starts at 0, so the first column is referred to as 0.
  • row (series int): Similar to the column index, this argument specifies the row index of the cell. The first row in the table also starts at an index of 0.
  • text_halign (series string): This determines the horizontal alignment of the text within the specified cell. The possible values for this argument are text.align_left, text.align_center, and text.align_right, allowing you to align the text to the left, center, or right of the cell, respectively.

Practical Example

To illustrate the use of table.cell_set_text_halign(), let’s create a simple table that displays some sample data and aligns the text in various cells:

indicator("My Table Example", overlay=true)
// Create a table
myTable = table.new(position=position.top_right, columns=3, rows=2)
// Populate the table with some sample data
table.cell(myTable, 0, 0, "Symbol",text_color = color.red)
table.cell(myTable, 1, 0, "Price",text_color = color.red)
table.cell(myTable, 2, 0, "Change",text_color = color.red)
table.cell(myTable, 0, 1, "AAPL",text_color = color.red)
table.cell(myTable, 1, 1, "150",text_color = color.red)
table.cell(myTable, 2, 1, "+2.5%",text_color = color.red)
// Set horizontal alignment
table.cell_set_text_halign(myTable, 0, 1, text.align_left)
table.cell_set_text_halign(myTable, 1, 1, text.align_center)
table.cell_set_text_halign(myTable, 2, 1, text.align_right)

Explanation of the Code

  1. Indicator Declaration:
    • //@version=5: Specifies the use of version 5 of Pine Script. This is essential for compatibility and access to the latest features and functions.
    • indicator("My Table Example", overlay=true): This line declares a new indicator named “My Table Example” and sets it to overlay on the main chart. The overlay=true parameter ensures that the table appears over the price chart rather than in a separate pane below.
  2. Table Creation:
    • myTable = table.new(position=position.top_right, columns=3, rows=2): A table named myTable is created with 3 columns and 2 rows. It’s positioned at the top right of the chart. This is the initial setup for displaying the data.
  3. Populating the Table with Headers:
    • table.cell(myTable, 0, 0, "Symbol"): Sets the text “Symbol” in the first cell of the first row (both column and row indices start at 0).
    • table.cell(myTable, 1, 0, "Price"): Sets the text “Price” in the second cell of the first row.
    • table.cell(myTable, 2, 0, "Change"): Places the text “Change” in the third cell of the first row. These three cells serve as the headers for the table.
  4. Populating the Table with Data:
    • table.cell(myTable, 0, 1, "AAPL"): Inserts the text “AAPL” into the first cell of the second row, indicating the symbol of the stock.
    • table.cell(myTable, 1, 1, "150"): Inserts the text “150” into the second cell of the second row, representing the price of the stock.
    • table.cell(myTable, 2, 1, "+2.5%"): Inserts the text “+2.5%” into the third cell of the second row, indicating the change in price. This row provides a sample data set.
  5. Setting Horizontal Text Alignment:
    • table.cell_set_text_halign(myTable, 0, 1, text.align_left): Aligns the text within the first cell of the second row to the left. This is typically used for text data like the “AAPL” symbol.
    • table.cell_set_text_halign(myTable, 1, 1, text.align_center): Centers the text in the second cell of the second row. This is commonly used for numeric data like prices to maintain uniformity and readability.
    • table.cell_set_text_halign(myTable, 2, 1, text.align_right): Aligns the text in the third cell of the second row to the right. This is often used for percentages or changes, helping to distinguish these values from other types of data in the table.

Key Features and Takeaways

  • Function Usability: The table.cell_set_text_halign() function is essential for improving the readability and visual appeal of tables in Pine Script by allowing developers to align text within cells according to their preferences.
  • Syntax and Application: Understanding the syntax and the significance of each argument is crucial for utilizing this function effectively. It offers flexibility in the presentation of data within tables.
  • Enhanced Visualization: Proper alignment of text within tables can significantly enhance the visualization of data, making it easier for users to read and interpret the information presented on the chart.

By mastering the table.cell_set_text_halign() function, you can take your financial charting and data presentation to the next level, creating tables that are not only informative but also visually appealing.

Leave a Comment