A display device and a method for displaying charts thereon
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-28
- Publication Date
- 2026-08-14
AI Technical Summary
[0006]随着红外、电磁及电容触控等高精准度定位技术的进步,电子白板已经可以实现触摸书写,但是在使用电子白板进行书写的过程中,经常需要将电子白板上的数据组进行图表形式的呈现,但目前一种是通过手绘图表的方式,不仅效率低下而且手绘的图表难以准确地展示数据组的变化规律,给后期分析造成不必要的偏差;另一种是通过电脑绘制图表后投影在电子白板上的方式,操作繁琐,不适合在会议交互中使用,导致会议的交互体验较差
Smart Images

Figure CN122569816A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application is a divisional application. The original application has the application number 202180004246.4 and the original application date is December 28, 2021. The original application is entitled "A display device and a method for displaying charts therein". The entire contents of the original application are incorporated herein by reference.
[0003] This application claims priority to Chinese Patent Application No. 202110819109.8, filed on July 20, 2021, with the State Intellectual Property Office of the People's Republic of China, entitled "An Electronic Whiteboard and a Method for Displaying Charts Thereon", the entire contents of which are incorporated herein by reference. Technical Field
[0004] This disclosure relates to the field of human-computer interaction technology, and in particular to a display device and a method for displaying charts thereon. Background Technology
[0005] Meetings are one of the most common forms of work, but with the continuous development of the times and the continuous advancement of technology, traditional meeting models are no longer suitable for the needs of modern offices. Meeting efficiency and interactive experience are becoming increasingly important in corporate meetings. This has led to the development of smart meetings, which are office products that integrate multiple devices such as electronic whiteboards, computers, and remote conferencing terminals, and possess various functions including interactive smart whiteboards.
[0006] With advancements in high-precision positioning technologies such as infrared, electromagnetic, and capacitive touch, electronic whiteboards can now enable touch writing. However, when writing on an electronic whiteboard, it is often necessary to present the data sets on the whiteboard in the form of charts. Currently, one method is to draw charts by hand, which is not only inefficient but also makes it difficult to accurately show the changing patterns of the data sets, causing unnecessary deviations in later analysis. Another method is to draw charts on a computer and then project them onto the electronic whiteboard, which is cumbersome and unsuitable for use in meeting interactions, resulting in a poor interactive experience. Summary of the Invention
[0007] This disclosure provides a display device and a method for displaying charts thereon, which is used to identify user-written tabular data, draw the tabular data into charts, and display them on the display device. It provides a solution for automatically drawing charts, which can accurately show the changing patterns of data groups and improve the interactive experience of smart meetings.
[0008] In a first aspect, an embodiment of this disclosure provides a display device, comprising: a display screen and a control circuit, wherein: The display screen is used to display content; The control circuit includes a processor and a memory. The memory stores programs executable by the processor, and the processor reads the programs from the memory and performs the following steps: The writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained; Responding to the user's chart drawing command, determine the chart type corresponding to the chart drawing command; In response to the user's chart drawing command, the system draws a chart of the chart type corresponding to the chart drawing command based on the data recognition results, and displays the drawn chart in the display area.
[0009] Secondly, an embodiment of this disclosure provides a method for displaying charts, comprising: The writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained; Responding to the user's chart drawing command, determine the chart type corresponding to the chart drawing command; In response to the user's chart drawing command, a chart of the chart type corresponding to the chart drawing command is drawn based on the data recognition result, and the drawn chart is displayed in the display area.
[0010] Thirdly, embodiments of this disclosure also provide a chart display apparatus, comprising: The recognition unit is used to recognize the writing trajectory information of the display area of the display screen and obtain the data recognition result; A determining unit is used to respond to a user's chart drawing instruction and determine the chart type corresponding to the chart drawing instruction; The drawing unit is used to respond to the user's chart drawing command, draw a chart of the chart type corresponding to the chart drawing command based on the data recognition result, and display the drawn chart in the display area.
[0011] Fourthly, this disclosure also provides a text recognition model, including: multiple RNN network layers, wherein the input connection of any RNN network layer after the first two RNN network layers has at least two outputs; The at least two outputs include the outputs of any two RNN layers preceding any one of the RNN layers.
[0012] Fifthly, embodiments of this disclosure also provide an automatic grid projection method, comprising: Obtain writing trajectory information for the display area of the screen; Based on the first projection histogram of the writing trajectory information on the first coordinate axis and the second projection histogram of the writing trajectory information on the second coordinate axis, determine each row separator line and each column separator line; Determine each cell based on the row separator and column separator.
[0013] In a sixth aspect, embodiments of this disclosure also provide an electronic device including a processor and a memory, the memory being used to store a program executable by the processor, and the processor being used to read the program in the memory and execute the steps of the methods described in the first, fourth, or fifth aspects above.
[0014] In a seventh aspect, embodiments of this disclosure also provide a computer storage medium having a computer program stored thereon, which, when executed by a processor, is used to implement the steps of the methods described in the first, fourth, or fifth aspects above.
[0015] These or other aspects of this disclosure will become more apparent in the following description of embodiments. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a schematic diagram of the structure of a display device provided in an embodiment of the present disclosure; Figure 2A A schematic diagram of the display area of a first type of electronic whiteboard provided in this embodiment of the present disclosure; Figure 2B A schematic diagram of the display area of a second type of electronic whiteboard provided in an embodiment of this disclosure; Figure 2C A schematic diagram of the display area of a third type of electronic whiteboard provided in this embodiment of the present disclosure; Figure 2D A schematic diagram of the display area of a fourth type of electronic whiteboard provided in this embodiment of the present disclosure; Figure 3 This is a schematic diagram of writing trajectory recognition provided in an embodiment of the present disclosure; Figure 4 A schematic diagram of a line graph provided in an embodiment of this disclosure; Figure 5 A schematic diagram showing a histogram provided in an embodiment of this disclosure; Figure 6 This is a schematic diagram of a pie chart provided in an embodiment of the present disclosure; Figure 7A This is a schematic diagram illustrating the first type of writing area and chart area provided in this embodiment of the disclosure; Figure 7B This is a schematic diagram illustrating the second type of writing area and chart area provided in this embodiment of the disclosure; Figure 7C This is a schematic diagram illustrating the third type of writing area and chart area provided in this embodiment of the disclosure; Figure 7D This is a schematic diagram illustrating the fourth type of writing area and chart area provided in this embodiment of the disclosure; Figure 7E This is a schematic diagram illustrating the fifth type of writing area and chart area provided in this embodiment of the disclosure; Figure 8A This is a comparative illustration of the first type of written content modification provided in the embodiments of this disclosure; Figure 8B This is a comparative illustration of a second type of modified writing content provided in an embodiment of this disclosure; Figure 9A This is a schematic diagram of a line graph comparison display provided in an embodiment of the present disclosure; Figure 9B A schematic diagram illustrating a histogram comparison display provided in an embodiment of this disclosure; Figure 9C This is a schematic diagram illustrating a pie chart comparison display provided in an embodiment of this disclosure; Figure 10 A flowchart illustrating an implementation method for drawing charts provided in this disclosure; Figure 11 This is a flowchart illustrating an embodiment of drawing a line chart provided in this disclosure. Figure 12 This is a flowchart illustrating an implementation of drawing a histogram according to an embodiment of the present disclosure; Figure 13 This is a flowchart illustrating an embodiment of drawing a pie chart provided in this disclosure. Figure 14 This is a flowchart illustrating an implementation method for displaying charts in a writing scenario with table lines, as provided in this embodiment of the disclosure. Figure 15A A schematic diagram of a guide template for displaying a bar chart provided in an embodiment of this disclosure; Figure 15B A schematic diagram of an editing interface for displaying a bar chart provided in an embodiment of this disclosure; Figure 15C A schematic diagram of a writing interface for displaying a bar chart provided in an embodiment of this disclosure; Figure 15D A schematic diagram of a full-screen interface for displaying a bar chart provided in an embodiment of this disclosure; Figure 15E A schematic diagram of a full-screen interface for displaying a bar chart provided in an embodiment of this disclosure; Figure 16A A schematic diagram of a guide template for displaying a radar chart provided in an embodiment of this disclosure; Figure 16B A schematic diagram of an editing interface for displaying a radar chart provided in an embodiment of this disclosure; Figure 16C A schematic diagram of a writing interface for displaying radar charts provided in an embodiment of this disclosure; Figure 16D A schematic diagram of a writing interface for displaying radar charts provided in an embodiment of this disclosure; Figure 16E A schematic diagram of a full-screen interface for displaying a radar chart provided in an embodiment of this disclosure; Figure 17A A schematic diagram of a guide template for displaying a pie chart provided in an embodiment of this disclosure; Figure 17B A schematic diagram of an editing interface for displaying a pie chart provided in an embodiment of this disclosure; Figure 17C A schematic diagram of a writing interface for displaying a pie chart provided in an embodiment of this disclosure; Figure 17D A schematic diagram of an updated interface for displaying a pie chart provided in an embodiment of this disclosure; Figure 17E This is a schematic diagram of a full-screen interface for displaying a pie chart, provided as an embodiment of the present disclosure. Figure 18A This is a schematic diagram of a guide template for displaying a line graph provided in an embodiment of this disclosure; Figure 18B A schematic diagram of an editing interface for displaying a line chart provided in an embodiment of this disclosure; Figure 18C A schematic diagram of a writing interface for displaying a line graph provided in an embodiment of this disclosure; Figure 18D A schematic diagram of a full-screen interface for displaying a line graph provided in an embodiment of this disclosure; Figure 19 This is a flowchart illustrating an implementation method for displaying charts in a writing scenario that displays title prompts, as provided in this embodiment of the disclosure. Figure 20 This is a schematic diagram of writing a line graph in a writing scenario that displays a title prompt, provided by an embodiment of this disclosure; Figure 21 A schematic diagram illustrating the row and column segmentation strategy provided in this embodiment of the disclosure; Figure 21A A projection histogram of the X-axis provided in this embodiment of the disclosure; Figure 21B A projection histogram of the X-axis after scaling is provided in an embodiment of this disclosure; Figure 21C A projection histogram of the Y-axis provided in this embodiment of the disclosure; Figure 21D A scaled-down projection histogram of the Y-axis provided in this embodiment of the disclosure; Figure 21E A projection histogram of the Y-axis provided in this embodiment of the disclosure; Figure 21F A scaled-down projection histogram of the Y-axis provided in this embodiment of the disclosure; Figure 21G A schematic diagram of row and column segmentation provided in an embodiment of this disclosure; Figure 21H A schematic diagram of row and column segmentation provided for an embodiment of this disclosure; Figure 22 A flowchart illustrating the implementation of a first row-column segmentation strategy provided in this embodiment of the disclosure; Figure 23 A flowchart illustrating the implementation of a second row-column segmentation strategy provided in this embodiment of the disclosure; Figure 24 A schematic diagram of a text recognition model provided in an embodiment of this disclosure; Figure 25 A flowchart illustrating an implementation method for displaying charts provided in this disclosure; Figure 26 A schematic diagram of a chart display device provided for an embodiment of this disclosure; Figure 27 An electronic device provided as an embodiment of this disclosure. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this disclosure clearer, the disclosure will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0019] In this disclosure, the term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0020] The application scenarios described in this disclosure are for the purpose of more clearly illustrating the technical solutions of this disclosure and do not constitute a limitation on the technical solutions provided in this disclosure. Those skilled in the art will understand that with the emergence of new application scenarios, the technical solutions provided in this disclosure are also applicable to similar technical problems. In the description of this disclosure, unless otherwise stated, "multiple" means two or more.
[0021] Intelligent conferencing systems are office products that integrate various devices such as electronic whiteboards, computers, and remote conferencing terminals, offering multiple functions including interactive smart whiteboards. With the rise of intelligent conferencing, the importance of meeting efficiency and interactive experience in corporate meetings has become increasingly apparent. Improving the efficiency and interactive experience of intelligent conferencing systems is a major concern. While advancements in high-precision positioning technologies such as infrared, electromagnetic, and capacitive touch control have enabled touch writing on electronic whiteboards, data often needs to be presented in chart form. Currently, this requires hand-drawing charts, which is not only inefficient but also fails to accurately depict the changing patterns of data, leading to unnecessary biases in later analysis. Projecting charts drawn on a computer onto the electronic whiteboard is cumbersome and unsuitable for interactive meetings, resulting in low meeting efficiency and a poor user experience.
[0022] This embodiment provides a display device and a method for displaying charts, which can automatically recognize the trajectory information of user writing, convert the user's writing content into charts and display them on an electronic whiteboard. It provides a solution for automatically generating and displaying charts based on the user's writing content, improving meeting efficiency and enhancing the user's interactive experience.
[0023] In some embodiments, the display device in this embodiment includes, but is not limited to, an electronic whiteboard, which includes a touch component for acquiring handwriting trajectory information. Optionally, the electronic whiteboard may also include components such as a camera or radar for acquiring handwriting trajectory information.
[0024] It should be noted that the electronic whiteboard in this embodiment is not a traditional electronic whiteboard that uses markers or chalk for writing, but rather a large-size (generally 50 inches or larger) intelligent interactive display device with touch handwriting function. This intelligent interactive display device is equipped with writing programs such as electronic whiteboard, and users can write on the display device using their fingers, active pens, or passive pens. This intelligent interactive display device may include display modules such as liquid crystal displays (LCDs), organic light-emitting diodes (OLEDs), and electronic ink, and can display the written handwriting in real time.
[0025] The principle behind the chart display provided in this embodiment is that after receiving the user's chart drawing instruction, the acquired writing trajectory information is recognized, and then the chart is drawn and displayed using the data recognition results. This automatically transforms the user's writing into a chart for display, effectively improving the interactive experience. It is easy to understand that the electronic whiteboard provided in this embodiment can receive the user's writing trajectory information. In practice, this can be achieved through a configured touch component that receives the writing trajectory information and the user's touch instructions. This embodiment does not impose excessive limitations on the specific method of acquiring the writing trajectory information.
[0026] In some embodiments, such as Figure 1 As shown, the display device provided in this embodiment includes: a display screen 100 and a control circuit 101, wherein: The display screen 100 is used to display content; The control circuit 101 includes a processor and a memory. The memory stores programs executable by the processor, and the processor reads the programs from the memory and performs the following steps: The writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained; Responding to the user's chart drawing command, determine the chart type corresponding to the chart drawing command; In response to the user's chart drawing command, a chart of the chart type corresponding to the chart drawing command is drawn based on the data recognition result, and the drawn chart is displayed in the display area.
[0027] In some embodiments, the display device in this embodiment includes, but is not limited to, an electronic whiteboard, which includes a touch component for acquiring handwriting trajectory information. The electronic whiteboard in this embodiment also includes components such as a camera and radar for acquiring handwriting trajectory information. The control circuit in this embodiment may further include at least one of a drive control circuit, a clock module, and a rendering engine. The memory in this embodiment can be used to store instructions, data, and other information requiring storage.
[0028] In some embodiments, this embodiment can obtain writing trajectory information in any of the following ways, including but not limited to: at least one of the touch components, camera components, and radar components configured on the electronic whiteboard; or, the writing trajectory information of the user writing on the terminal can be obtained in real time through a terminal with a communication connection to the electronic whiteboard. The writing scenario in this embodiment is applicable to writing performed by the user with a finger or stylus, writing performed by the user through a terminal with a communication connection to the electronic whiteboard, and writing performed by the user without touching the display screen (air writing). This embodiment does not impose too many limitations on the specific method of obtaining writing trajectory information.
[0029] It should be noted that in this embodiment, there is no fixed order between the process of recognizing the writing trajectory information and responding to the user's chart drawing command. In practice, the writing trajectory information can be recognized first to obtain the data recognition result, and then the user's chart drawing command can be responded to. Alternatively, the user's chart drawing command can be responded to first, and then the writing trajectory information can be recognized to obtain the data recognition result.
[0030] It should be noted that in this embodiment, the position of the user's writing trajectory information in the display area and the position of the corresponding chart in the display area do not overlap. This ensures that the user can see both the content written by the user and the chart drawn at the same time. Without affecting normal content interaction, the automatic chart drawing method improves the efficiency of meeting interaction and enhances the user's interactive experience.
[0031] In some embodiments, in a smart chart drawing mode with a known chart type, chart drawing is triggered after the user stops writing and waits for a preset time. This embodiment can also respond to an instruction triggered after the user stops writing and waits for a preset time in a smart chart drawing mode with a known chart type, identify the writing trajectory information in the display area of the screen, obtain data identification results, draw a chart based on the data identification results, and display the chart. In implementation, if the user stops writing in the display area and waits for a preset time, the writing trajectory information in the display area is identified, data identification results are obtained, and a chart is drawn based on the data identification results, which is then displayed in the display area. In implementation, the timing for identifying the writing trajectory information and drawing and displaying the chart based on the data identification results can be determined based on the timing of receiving the chart drawing instruction.
[0032] In some embodiments, the timing for recognizing the writing trajectory information in this embodiment is as follows: if it is determined that the user has stopped writing and has not written after waiting for a preset time, then the writing trajectory information of the display area of the display screen is recognized, and the data recognition result is obtained.
[0033] In some embodiments, in a smart chart drawing mode with a known chart type, chart drawing is triggered when a user's gesture command is received. This embodiment can also respond to a user's gesture command in a smart chart drawing mode with a known chart type by recognizing the writing trajectory information of the display area of the screen, obtaining data recognition results, drawing a chart based on the data recognition results, and displaying the chart.
[0034] In some embodiments, gesture instructions include, but are not limited to, gesture instructions that represent direction, such as arrow gesture instructions, including but not limited to, at least one of single arrow gesture instructions and double arrow gesture instructions.
[0035] Optionally, the table data corresponding to the X-axis can be determined based on the arrow direction in the received gesture command; or, the table data corresponding to the Y-axis can be determined based on the arrow direction in the received gesture command.
[0036] Optionally, if the gesture command is a single-arrow gesture command, then the table data corresponding to the X-axis or the table data corresponding to the Y-axis is determined according to the direction of the single arrow. In practice, for example, the data content in the first column of the table data is determined as the table data corresponding to the X-axis, and the data content in the second column of the table data is determined as the table data corresponding to the Y-axis.
[0037] Optionally, if the gesture instruction is a double-arrow gesture instruction, the double-arrow gesture instruction includes a first arrow instruction and a second arrow instruction drawn sequentially, wherein the reception time of the first arrow instruction is earlier than the reception time of the second arrow instruction, and the second direction of the second arrow instruction is different from the first direction; then the table data for the X-axis and Y-axis are set in the following manner: Based on the first direction of the first arrow instruction, determine the corresponding table data for the X-axis; based on the second direction of the second arrow instruction, determine the corresponding table data for the Y-axis; or, Based on the first direction of the first arrow instruction, determine the table data corresponding to the Y-axis, and based on the second direction of the second arrow instruction, determine the table data corresponding to the X-axis.
[0038] The data recognition results in this embodiment include, but are not limited to, tabular data, data group data, and other data that can be represented as charts.
[0039] It should be noted that the tabular data mentioned above can refer to data with row information or column information, or data with both row information and column information, and does not necessarily need to contain row or column dividing lines. In computer data, any data storage format that can represent the row or column information of the data can be called tabular data.
[0040] The table data in this embodiment includes multiple cells, which can be evenly arranged, for example, in a 3-row, 2-column arrangement. The cells can also include the user's writing trajectory information. After recognizing the writing trajectory information in the cells, the data content of the cells is obtained, and then the data content in each cell is used to draw a chart.
[0041] In this embodiment, data groups can be determined based on data with column or row information in the table data. For example, the data content of each cell in the first column of the table data can be used as the content of the first data group, and the data content of each cell in the second column of the table data can be used as the content of the second data group. The order of the content in the data group is determined according to the order of the cells. Alternatively, the data content of each cell in the first row of the table data can be used as the content of the first data group, and the data content of each cell in the second row of the table data can be used as the content of the second data group. For example, if the data content of each cell in the first column of the table data is 10, 20, and 30, then the content of the first data group is [10, 20, 30].
[0042] This embodiment provides a schematic diagram of the display area of the electronic whiteboard's screen, such as... Figure 2A , Figure 2B , Figure 2C , Figure 2DAs shown, after a user writes on one side of the electronic whiteboard's display area, a chart drawing command is triggered, and the corresponding chart is displayed on the other side of the display area. In practice, after the user selects a chart type, in the intelligent chart drawing mode for a known chart type, writing can be stopped and a preset time can be waited before the corresponding chart is drawn and displayed on the other side of the display area.
[0043] In some examples, the chart may be displayed in ways including, but not limited to, simultaneously displaying axes and tabular data; or displaying tabular data after displaying axes; or displaying axes after displaying tabular data. For line charts, the tabular data is interpreted as the coordinate points on the line; for histograms, the tabular data is interpreted as the rectangles within the histogram; and for pie charts, the tabular data is interpreted as blocks of different sizes. In some examples, this embodiment may or may not display the titles of each axis; the specific choice depends on the actual needs and is not limited here.
[0044] In some examples, this embodiment can obtain the writing trajectory information of the display area after receiving the user's chart drawing instruction; or, it can obtain the writing trajectory information of the display area after determining that the user has finished writing. This embodiment does not impose too many limitations on the timing of obtaining the writing trajectory information. Specifically, determining that the user has finished writing includes: determining that the user has finished writing if no writing trajectory information is received within a preset time period after the last received writing trajectory information; or determining that the user has finished writing based on receiving a completion button instruction triggered by the user. It should be noted that the button or key in this embodiment includes virtual buttons or physical buttons, which are not limited here.
[0045] In some embodiments, the method for recognizing writing trajectory information provided in this embodiment is mainly divided into the following three types according to different writing scenarios: The first scenario is writing in a table with lines.
[0046] This writing scenario primarily involves recognizing writing trajectory information based on data from a writing prompt table displayed in the screen area. In this scenario, the position (area size) of each cell in the writing prompt table is known. Even if the writing prompt table dynamically expands during the user's writing process, the position (area size) of each cell in the expanded writing prompt table remains known. The writing prompt table can be fixed in the screen area before the user writes, or its base position can be dynamically determined based on the user's initial writing position. The user only needs to write the corresponding content in each cell of the writing prompt table, and the recognition process only requires recognizing the writing trajectory information. Since the position of each cell in the writing prompt table is known, the data recognition results are simply divided into the cells of the writing prompt table to obtain a table containing the user's writing content. A chart is then generated and displayed based on the data content in the table.
[0047] In some embodiments, before recognizing the writing trajectory information of the display area of the display screen and obtaining the data recognition result, the processor is further configured to execute: A writing prompt table is displayed in the display area, wherein the writing prompt table is used to prompt the user to write in each cell of the writing prompt table; Receive the writing trajectory information written by the user in the writing prompt table.
[0048] In some embodiments, the processor is specifically configured to perform: The reference position of the writing prompt table is determined based on the position of the writing trajectory information initially written by the user in the display area; Based on the reference position of the writing prompt table, a writing prompt table with a fixed number of rows and columns is displayed in the display area, wherein the writing trajectory information of the user's initial writing is located in the cell of the writing prompt table.
[0049] For example, the position of the content initially written by the user in the display area can be used as the position of the cell in the first row and first column of the writing prompt table, or as the position of the cell in the second row and second column of the writing prompt table. This position can then be used as the reference position for displaying a writing prompt table with a fixed number of rows and columns.
[0050] In some embodiments, after displaying the writing prompt table, the processor is further configured to perform any of the following methods to increase the number of rows and columns of the writing prompt table: Method 1) If the writing trajectory information of the user continues to write exceeds the range contained in the writing prompt table, then increase the number of rows in the writing prompt table according to the position of the writing trajectory information of the user continues to write; Method 2) If the writing trajectory information of the user continues to write exceeds the range contained in the writing prompt table, then increase the number of columns in the writing prompt table according to the position of the writing trajectory information of the user continues to write; Method 3) If the writing trajectory information continued by the user exceeds the range contained in the writing prompt table, then increase the number of rows and columns of the writing prompt table according to the position of the writing trajectory information continued by the user; Method 4) If the writing trajectory information of the user continues to write is located in the critical row of the writing prompt table, then increase the number of rows in the writing prompt table; Method 5) If the writing trajectory information of the user continues to write is located in the critical column of the writing prompt table, then increase the number of columns in the writing prompt table.
[0051] Method 6) If the writing trajectory information of the user continues to write is located in the cell of the critical row and critical column of the writing prompt table, then increase the number of rows and columns of the writing prompt table.
[0052] In this embodiment, the critical row indicates that the last row of the writing prompt table is about to be reached, such as the second to last row of the writing prompt table; or the last row of the writing prompt table.
[0053] The writing prompt table in this embodiment can dynamically determine the reference position based on the user's initial writing position. It can also automatically expand the writing prompt table dynamically when the user is about to fill all the cells in the writing prompt table or when the writing content exceeds the range contained in the writing prompt table, so as to ensure that the content written by the user is within the range of the writing prompt table.
[0054] In some embodiments, the processor is further configured to perform: In response to a user's editing command in the intelligent charting mode of a known chart type, a writing prompt table is displayed in the display area, wherein the number of rows and columns of the writing prompt table is fixed or determined according to parameters input by the user.
[0055] In practice, the timing for displaying the writing prompt table can be in response to the user's editing command in the intelligent chart mode with a known chart type. After the writing prompt table is displayed, the user can also set the rows and columns of the writing prompt table by inputting row parameters and column parameters respectively. For example, if the user inputs a row parameter of 3 and a column parameter of 5, a writing prompt table with 3 rows and 5 columns will be generated and displayed.
[0056] In some embodiments, the size of the cells in the writing prompt table in this embodiment is predefined, or it can be determined based on the cell parameters input by the user, or it can be determined based on the writing trajectory information of the user's initial writing. For example, the size of the cells can be determined by the position of each trajectory point in the writing trajectory information of the user's initial writing. This embodiment does not impose too many limitations on this.
[0057] In some embodiments, in a writing scenario with table lines, the data recognition result includes multiple data groups, any one of which includes the content written by the user in any column of the writing prompt table, or the content written by the user in any row of the writing prompt table.
[0058] In implementation, multiple data sets can be determined in the following ways: If a writing prompt table is displayed in the display area, the content written by the user in the writing prompt table will be divided into multiple data groups by column or by row; or, If the writing prompt table is not displayed in the display area, after determining each cell, the data content of each cell is divided by column or by row to obtain multiple data groups.
[0059] It should be noted that the elements in any data group correspond to the content of any column, and the order of the elements in the data group is the same as the order of the cells in that column. For example, if a user enters 4 rows and 3 columns of content in the writing prompt table, then the writing prompt table will be divided into 3 columns, each corresponding to a data group. The first data group corresponds to the data content in the 4 cells of the first column, meaning each data group contains 4 elements.
[0060] In some embodiments, in writing scenarios with table lines, the processor of this embodiment is specifically configured to determine the data recognition result in any of the following ways: Method 1: First determine the trajectory points of the cell, then identify the trajectory points of each cell.
[0061] Based on the positional relationship between each trajectory point in the writing trajectory information and the cell in the writing prompt table, the writing trajectory information contained in each cell is determined; The writing trajectory information contained in each cell is identified to obtain the data content of each cell; Method 2: First, identify the writing trajectory information, and then determine the data content in the cell.
[0062] The writing trajectory information is identified to obtain the content written by the user and the position of the content in the display area; The data content of each cell is determined based on the location of the content and the location of the cells in the writing prompt table.
[0063] In writing scenarios with table lines, the position and size of each cell in the writing prompt table are known. During the recognition process, it is only necessary to determine which cell each trajectory point is located in based on the positional relationship between each trajectory point and the cell in the writing trajectory information, thereby determining the trajectory points contained in each cell (i.e., the writing trajectory information). The trajectory points in each cell are then identified to obtain the data content of each cell. The data content of each cell is divided into multiple data groups by column, or by row. A chart is then drawn and displayed based on each data group.
[0064] The second scenario is writing without table lines.
[0065] This writing scenario requires not only recognizing the writing trajectory information but also using clustering algorithms to identify the content written by the user. In this scenario, the display area does not show a writing prompt table; the user only needs to write the data content in the table. The recognition process requires not only handwriting recognition algorithms but also clustering algorithms without table lines. This involves dividing the writing trajectory information into different cells, recognizing the writing trajectory information in each cell, obtaining the data content in each cell, and finally generating and displaying a chart based on the data content of each cell.
[0066] In some examples, in this scenario, the data recognition result in this embodiment includes multiple cells, and the data recognition result also includes the position of each cell and the data content in each cell. In implementation, this embodiment obtains the content actually written by the user by recognizing the writing trajectory information. Based on the user's drawing requirements, this embodiment treats the content written by the user as each piece of data content, and draws a chart of the chart type corresponding to the chart drawing instruction according to each piece of data content in the table, and displays the drawn chart in the display area.
[0067] In this scenario, in some embodiments, after receiving the user's chart drawing instruction, this embodiment determines the writing trajectory information that needs to be displayed in the chart. The specific determination method includes, but is not limited to, any of the following: Method 1) Identify all writing trajectory information in the display area as the writing trajectory information that needs to be displayed in a chart; In practice, when a user needs to draw a chart while using the electronic whiteboard, the whiteboard's display screen is configured to receive the writing trajectory information used for chart drawing and to display the chart area, as needed. Previously written content is hidden from this display screen.
[0068] Method 2) Select all writing trajectory information within the preset box in the display area as the writing trajectory information that needs to be displayed in the chart.
[0069] This method does not hide the original user-written content on the display screen. When the user needs to display a chart, a preset box is displayed in the display area of the screen. The user can write the content to be drawn in the preset box, and the corresponding chart is displayed in other areas of the display area.
[0070] Method 2) Upon receiving the user's chart drawing instruction, the system identifies all writing trajectory information in the display area, obtaining tabular data corresponding to all writing trajectory information. This writing trajectory information includes, but is not limited to, the writing order and coordinates of each trajectory point; that is, the writing trajectory information contains each trajectory point with a specific writing order. Because the writing trajectory information includes not only the coordinates of the trajectory points but also their writing order, the system can more accurately identify the content written by the user based on the correlation between the writing order and coordinates of each trajectory point.
[0071] In some embodiments, in this writing scenario, the data recognition result includes multiple cells, and the data recognition result also includes the position of each cell and the data content in each cell.
[0072] In some examples, the algorithms used for writing trajectory recognition in this embodiment include, but are not limited to, clustering algorithms and handwriting recognition algorithms. The clustering algorithm groups all received writing trajectory information according to the similarity between trajectory points, thus dividing all trajectory points into cells. The trajectory points in each cell belong to one class, which can be understood as the data content written by the user in that cell. The handwriting recognition algorithm identifies the trajectory points in each cell to obtain the final content, i.e., the data content. Based on the position of each cell and the data content within each cell, the various data contents in the user-written table can ultimately be determined.
[0073] In practice, after obtaining the writing trajectory information, the obtained writing trajectory information is identified to obtain the position information of each cell in the table and the corresponding data content of each cell. For example, in a 2×4 table, the position of the first cell is (1,1), and the data content of the first cell is "income". The position of the second cell is (1,2), and the data content of the second cell is "100".
[0074] In some examples, this embodiment identifies the writing trajectory information of the display area of the screen through the following steps to obtain table data: Step 1: Determine each cell and divide the writing trajectory information into each cell.
[0075] Wherein, each cell corresponds to a cell in the table, and the writing trajectory information contained in each cell corresponds to the data content in each cell; In practice, the clustering algorithm determines each cell based on the writing trajectory information, and then the writing trajectory information is divided into each cell, with each cell containing data content.
[0076] In some examples, the clustering algorithm in this embodiment can be an adaptive clustering algorithm, such as K-Means clustering. Trajectory points with consistent writing order and close coordinate distances are grouped into one class, and trajectory information of the same class is assigned to the same cell, thus distributing all writing trajectory information into various cells.
[0077] This embodiment can determine each cell using a clustering algorithm, or it can divide the user's writing trajectory information into each cell.
[0078] In implementation, the number of clusters in the K-Means algorithm can be preset, i.e., the total number of cells obtained after final segmentation. Alternatively, an improved K-Means algorithm can be used to automatically determine the final number of clusters, meaning the K-Means algorithm can automatically determine the total number of cells obtained after final segmentation. The K-Means algorithm dataset includes N sample points, each with two features: the writing order of the trajectory points and the coordinates of the trajectory points. The design idea is to calculate the distance between sample points within each category using a preset loss function, ensuring that the distance between sample points within each category is small while the error between sample points in different clusters is large. The K-Means algorithm works by first selecting L mean points, then clustering the sample points based on these L mean points, removing points with smaller values within each cluster, randomly selecting a mean point from the remaining L1 sample points after removing samples, and finding the mean point farthest from this selected mean point. This process is iterated until K mean points are selected, where L, L1, and K are all positive integers, and L... L1.
[0079] The specific process of the K-Means algorithm is as follows: Step 1: Initialization, select K mean points; Step 2: Assign each sample point to the category of the nearest mean point to determine the clustering result; The optimal clustering result is obtained by calculating the minimum value of the loss function.
[0080] Step 3: Update the mean points based on the clustering results; Step 4: Repeat steps 2 and 3 until the mean point no longer changes; Step 5: Output the clustering results.
[0081] In some examples, this embodiment provides the following two methods for dividing the writing trajectory information into individual cells.
[0082] The implementation steps for Method 1 are as follows: Step 1a: Obtain the writing order and coordinates of each trajectory point in the writing trajectory information; Step 1b: Determine the similarity between the trajectory points based on the writing order and coordinates of each trajectory point; Step 1c: Divide the trajectory points whose similarity meets the preset threshold into individual cells.
[0083] In practice, after obtaining the writing order and coordinates of each trajectory point in the writing trajectory information, the trajectory points can be clustered according to the clustering algorithm. The trajectory points whose similarity meets the preset threshold are divided into one class, and each cell corresponding to the trajectory points of each class is generated.
[0084] The implementation steps for Method 2 are as follows: Step 2a: Convert the writing trajectory information into strokes, and determine the centroid of the strokes based on the average coordinate values of the trajectory points in the strokes; In some embodiments, the writing trajectory information is obtained by resampling the trajectory points in the writing trajectory information; the resampling is used to add trajectory points in the corresponding strokes according to the length of each stroke in the writing trajectory information. In practice, the writing trajectory information can be resampled, and the number of points in the strokes can be increased according to the stroke length, and the resampled writing trajectory information can be used to determine each cell.
[0085] Step 2b: Divide the stroke into individual cells according to the relationship between the center of gravity of the stroke and the position of each cell.
[0086] In some embodiments, individual cells are determined by one or more of the following methods: Method 1) Determine the column separator line based on the trough position of the first projection histogram of the first coordinate axis according to the writing trajectory information; determine the row separator line of any column based on the trough position of the second projection histogram of the second coordinate axis according to the writing trajectory information contained in any column; determine each cell based on the column separator line and the row separator line. It should be noted that the first coordinate axis and the second coordinate axis in this embodiment are perpendicular to each other.
[0087] In implementation, column separators are determined as follows: The column separator line is determined based on the location of the valleys in the first projection histogram where the width of the valley is greater than the threshold.
[0088] In practice, line separators are determined as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0089] In implementation, each cell is determined based on column separators and row separators, specifically including: The writing trajectory information is divided into multiple columns based on column separators, and each column is further divided into multiple rows based on row separators. Finally, the table borders are determined based on the minimum and maximum values of the trajectory points in all the writing trajectory information on the first and second coordinate axes. The table and its data content are then determined based on the column separators, row separators, borders, and writing trajectory information. It should be noted that in this embodiment, the method of determining cells involves first dividing the columns, and then dividing each column into rows. This solves the problem of misalignment in different columns within a row due to non-standard handwriting. Even if the content belonging to different columns in each row is not on the same horizontal line, the method in this embodiment can still accurately divide the data content in each cell, accurately achieving row and column division. This implementation method can also address the problem of misaligned rows in handwritten columns affecting recognition in vertical tables.
[0090] Method 2) Determine the row separator line based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information; determine the column separator line of any row based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information contained in any row; and determine each cell based on the row separator line and the column separator line. In implementation, column separators are determined as follows: The column separator line is determined based on the location of the valleys in the first projection histogram where the width of the valley is greater than the threshold. Determine the line separator as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0091] In implementation, each cell is determined based on column separators and row separators, specifically including: The writing trajectory information is divided into multiple rows based on row dividing lines, and each row of writing trajectory information is divided into multiple columns based on column dividing lines. Finally, the table border lines are determined based on the minimum and maximum values of the trajectory points in all writing trajectory information on the first and second coordinate axes. The table and its data content are determined based on the column dividing lines, row dividing lines, border lines, and writing trajectory information. It should be noted that in this embodiment, the method of determining cells first divides the rows and then divides each row into columns. This can solve the problem of blank rows in the table caused by users' non-standard writing. Using the method in this embodiment, blank rows can be identified, and the data content in each cell can be accurately divided, thus accurately achieving row and column division.
[0092] Method 3) Determine the column separator line based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information, determine the row separator line based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information, and determine each cell based on the row separator line and the column separator line.
[0093] In implementation, column separators are determined as follows: The column separator line is determined based on the location of the valleys in the first projection histogram where the width of the valley is greater than the threshold. Determine the line separator as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0094] In implementation, each cell is determined based on column separators and row separators, specifically including: The writing trajectory information is divided into multiple columns based on column separators and multiple rows based on row separators. Finally, the table borders are determined based on the minimum and maximum values of the trajectory points in all the writing trajectory information on the first and second coordinate axes. The table and its data content are determined based on the column separators, row separators, borders, and writing trajectory information. It should be noted that this embodiment simultaneously divides rows and columns in the method of determining cells, which can solve the problem of empty cells in the table caused by irregular user handwriting. Using the method in this embodiment, empty cells, i.e., cells without writing trajectory information, can be identified, accurately dividing the data content in each cell and accurately achieving row and column division.
[0095] In some implementations, the first projection histogram is obtained by projecting the writing trajectory information onto the first coordinate axis and then performing a reduction mapping. The reduction mapping is used to reduce the unit spacing of the first coordinate axis of the projection histogram to a first preset spacing, and to sum the number of projected trajectory points within the first preset spacing, using the sum as the number of trajectory points corresponding to the first preset spacing. For example, taking the first coordinate axis as the X-axis, the X-axis coordinate of the projection histogram represents the position of the trajectory points in the writing trajectory information in the X direction, and the Y-axis coordinate represents the number of trajectory points projected onto different X-axis positions. For instance, the number of trajectory points in the 0-100 interval of the projection histogram is reduced and mapped to a new 0-10 interval. Specifically, the sum of the number of trajectory points in the 0-10 sub-interval within the 0-100 interval is used as the number of trajectory points corresponding to the 0-1 sub-interval in the new 0-10 interval, the sum of the number of trajectory points in the 10-20 sub-interval within the 0-100 interval is used as the number of trajectory points corresponding to the 1-2 sub-interval in the new 0-10 interval, and so on. Furthermore, the number of trajectory points in each sub-interval of the 0-10 interval can be normalized. Taking the 0-1 sub-interval in the 0-10 interval as an example, the sum of the number of trajectory points corresponding to the 0-1 sub-interval is taken as the number of trajectory points corresponding to the 0-1 sub-interval. In this case, the 0-1 sub-interval corresponds to one number of trajectory points, that is, the 0-1 sub-interval corresponds to one value.
[0096] The second projection histogram is obtained by projecting the writing trajectory information onto the second coordinate axis and then performing a reduction mapping. This reduction mapping reduces the unit spacing of the second coordinate axis of the projection histogram to a second preset spacing, and sums the number of projected trajectory points within the second preset spacing. The sum is then used as the number of trajectory points corresponding to the first preset spacing. Taking the Y-axis as an example, the Y-axis coordinate of the projection histogram represents the position of the trajectory points in the writing trajectory information in the Y direction, and the X-axis coordinate represents the number of trajectory points mapped to different Y-axis positions. For example, the number of trajectory points in the 0-100 interval of the projection histogram is reduced and mapped to a new 0-10 interval. The specific implementation principle is explained above in the description of the first projection histogram, and will not be repeated here.
[0097] In this embodiment, the projection histogram is used as a statistical chart to represent the number of trajectory points projected onto the preset coordinate axes of the writing trajectory information.
[0098] Step 2: Identify the writing trajectory information in each cell to obtain the data content of each cell; Specifically, the handwriting recognition algorithm is used to identify the writing trajectory information to obtain the data content of each cell. Optionally, the handwriting recognition algorithm in this embodiment includes, but is not limited to, at least one of character recognition algorithms and number recognition algorithms.
[0099] Step 3: Determine the data recognition result based on the position of each cell and the data content in each cell.
[0100] like Figure 3 As shown in the schematic diagram of writing trajectory recognition provided in this embodiment, the user's writing trajectory information "product, profit, A, B, C, 10000, 20000, 30000" is divided into 8 cells. Each cell contains all the writing trajectory information of the data content. After the writing trajectory information in each cell is recognized by the handwriting recognition algorithm, the data content in each cell is obtained, thereby determining the data recognition result.
[0101] It should be noted that the table data in this embodiment consists of individual cells, and the data content in the table is composed of the data content in each cell. By identifying the position of each cell and the data content (the data content in each cell), the table data can be determined. The data content in each column of cells is treated as an array, or the data content in each row of cells is treated as an array, and a chart is drawn and displayed based on these arrays.
[0102] The third scenario is the writing scenario where a title prompt is displayed.
[0103] In this writing scenario, the displayed title prompts include, but are not limited to, horizontal or vertical lines. Optionally, recognition is used for the writing trajectory information above the horizontal line, and clustering and handwriting recognition algorithms are applied to the writing trajectory information below the horizontal line; alternatively, recognition is applied to the writing trajectory information to the left of the vertical line, and clustering and handwriting recognition algorithms are applied to the writing trajectory information to the right of the vertical line. In this scenario, the display area only shows horizontal or vertical lines, and at least one horizontal or vertical line is displayed. It can be a long horizontal line or multiple short horizontal lines, or a long vertical line or multiple short vertical lines. This implementation does not impose too many restrictions on the style and number of displayed horizontal or vertical lines. For example, the user can write the titles of each coordinate axis above the horizontal line, which can be one or more titles, and write the corresponding content below the horizontal line.
[0104] In some embodiments, before recognizing the writing trajectory information of the display area of the screen and obtaining the data recognition result, the processor is further configured to execute: A title prompt is displayed in the display area. The title prompt is used to indicate to the user where to write the table title. Specifically, when drawing a line chart, the table title is used to indicate the title of the coordinate axis; when drawing a bar chart, the table title is used to indicate the title of each category or the name of each bar on the preset coordinate axis; when drawing a radar chart, the table title is used to indicate the title of each vertex or the name of the polar coordinate; and when drawing a pie chart, the table title is used to indicate the title of each section.
[0105] First writing trajectory information is obtained in the first area corresponding to the title prompt, and second writing trajectory information is obtained in the second area corresponding to the title prompt.
[0106] The title prompt in this embodiment can not only indicate the writing position to the user, allowing the user to write according to the prompt, but also avoid the problem that when the interval between different contents is small, the clustering algorithm cannot accurately perform automatic grid recognition, and it is easy to misclassify some or all of the trajectory points in the same content into other cells, resulting in recognition errors.
[0107] In some embodiments, the title prompt is used to separate the titles (i.e., table titles) of the various coordinate axes written by the user from the content corresponding to the titles. In some embodiments, the first region and the second region are separated by the title prompt. In some embodiments, the title prompt includes at least one of a horizontal line, a vertical line, and a symbol.
[0108] In implementation, two horizontal lines can be displayed, each corresponding to a column in the table. For example, the first writing trajectory information representing title 1 is obtained in the area above the first horizontal line, and the first writing trajectory information is identified as title 1 on the X-axis; the first writing trajectory information representing title 2 is obtained in the area above the second horizontal line, and the first writing trajectory information is identified as title 2 on the Y-axis; the second writing trajectory information representing the content is obtained in the area below the first horizontal line, and the second writing trajectory information is identified as the content corresponding to title 1; the second writing trajectory information representing the content is obtained in the area below the second horizontal line, and the second writing trajectory information is identified as the content corresponding to title 2.
[0109] In a writing scenario where a title prompt is displayed, the data recognition result includes the titles of each coordinate axis and multiple cells. The data recognition result also includes the position of each cell and the data content in each cell.
[0110] In some embodiments, the data identification result is determined through the following steps: Step 3a) Identify the writing trajectory information of the first region to obtain the titles of each coordinate axis; Step 3b) Divide the writing trajectory information of the second region into individual cells, identify the writing trajectory information in each cell, and obtain the data content of each cell in the second region; The writing trajectory can be divided into individual cells using any of the following methods: Method 1: Convert the writing trajectory information into strokes, determine the center of gravity of the strokes based on the average coordinate value of the trajectory points in the strokes, and divide the strokes into individual cells based on the positional relationship between the center of gravity of the strokes and each cell.
[0111] Method 2: Obtain the writing order and coordinates of each trajectory point in the writing trajectory information; determine the similarity between each trajectory point based on the writing order and coordinates of each trajectory point; divide the trajectory points whose similarity meets the preset threshold into each cell.
[0112] Determine the individual cells using any of the following methods: Method 1: Determine the column separator line based on the trough position of the first projection histogram of the first coordinate axis according to the writing trajectory information; determine the row separator line of any column based on the trough position of the second projection histogram of the second coordinate axis according to the writing trajectory information contained in any column; and determine each cell based on the column separator line and the row separator line.
[0113] Method 2: Determine the row separator line based on the trough position of the second projection histogram of the second coordinate axis according to the writing trajectory information; determine the column separator line of any row based on the trough position of the first projection histogram of the first coordinate axis according to the writing trajectory information contained in any row; and determine each cell based on the row separator line and the column separator line.
[0114] Method 3: Determine the column separator line based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information; determine the row separator line based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information; and determine each cell based on the row separator line and the column separator line.
[0115] The column separator is determined as follows: Column separators are determined based on the locations of troughs in the first projection histogram where the trough width exceeds a threshold; and / or, Determine the line separator as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0116] Among them, the writing trajectory information in methods 1 to 3 is obtained by resampling the trajectory points in the writing trajectory information written by the user; the resampling is used to add the corresponding trajectory points in the strokes according to the length of each stroke in the writing trajectory information written by the user.
[0117] The first projection histogram is obtained by projecting the writing trajectory information onto the first coordinate axis and performing a reduction mapping; wherein the reduction mapping is used to reduce the unit spacing of the first coordinate axis of the projection histogram to a first preset spacing and sum the number of projected trajectory points within the first preset spacing. The second projection histogram is obtained by projecting the writing trajectory information onto the second coordinate axis and performing a reduction mapping; wherein the reduction mapping is used to reduce the unit spacing of the second coordinate axis of the projection histogram to a second preset spacing and sum the number of projected trajectory points within the second preset spacing.
[0118] Step 3c) Determine the data recognition result based on the title, the data content in each cell of the second area, and the positional relationship between the title and each cell.
[0119] In this scenario, besides recognizing the writing trajectory information in the first area corresponding to the title prompt, the recognition method in the second area can be the same as the second method described above for writing scenarios without table lines. Since the user writes the title in the first area and the content in the second area, it is only necessary to recognize the writing trajectory information in the first area. The writing trajectory information in the second area is then recognized using clustering and handwriting recognition algorithms. First, the writing trajectory information is divided into individual cells, and then the writing trajectory information in each cell is recognized to determine the data content in each cell. Finally, the data content in the cells of the column corresponding to each title, or the data content in the cells of the row corresponding to each title, is determined.
[0120] Create a chart based on the data content of each column of cells except the header, or create a chart based on the data content of each row of cells except the header.
[0121] The three different scenarios described in this embodiment differ slightly in the methods of recognition and obtaining recognition results. Specifically, the recognition method differs between scenarios with tables and scenarios without tables. Based on these three different scenarios, this embodiment can determine the content of the table written by the user in each scenario, and determine the content of any column or any row written by the user.
[0122] In some embodiments, the content written by the user is divided into columns to determine multiple data groups; or, the content written by the user is divided into rows to determine multiple data groups. The content of any column written by the user is defined as a data group; or, the content of any row written by the user is defined as a data group.
[0123] In some embodiments, the chart type is determined according to the chart drawing instructions; and a chart corresponding to the chart type is drawn according to each data group corresponding to the content written by the user.
[0124] In some embodiments, the content of each column written by the user is determined as each data group according to a preset correspondence between each row and the coordinate axis; or, the content of each row written by the user is determined as each data group according to a preset correspondence between each column and the coordinate axis.
[0125] In some embodiments, the content in the preset row of the user-written content is determined as the title of each coordinate axis, and the data content in other cells is determined as the data content; or, the content in the preset column of the user-written content is determined as the title of each coordinate axis, and the data content in other cells is determined as the data content.
[0126] In some embodiments, the data content in each cell is defined as the data content.
[0127] In some embodiments, the chart type is determined according to the chart drawing instructions; Based on the data groups corresponding to the content written by the user, draw a chart corresponding to the chart type.
[0128] In practice, regardless of whether the mode has a table or not, this embodiment divides the user-written content into various data groups during the chart drawing process, and draws a chart corresponding to the chart type based on the data groups corresponding to the user-written content.
[0129] In the table-based mode, each column of content written by the user in the writing prompt table is treated as a data group, or each line of content written by the user in the writing prompt table is treated as a data group.
[0130] In tableless mode, after dividing the user's written content into individual cells, the data content in each column of cells is treated as a data group, or the data content in each row of cells is treated as a data group.
[0131] In some embodiments, if any data group includes the content of any column written by the user, different types of charts can be drawn in the following ways: If the chart type is determined to be a bar chart, then based on the data groups corresponding to the preset columns, determine the category headings on the preset axes; based on the first content corresponding to the preset index value in the data groups corresponding to the remaining columns (excluding the preset columns), determine the bar names; based on the content excluding the first content in the data groups corresponding to the remaining columns, determine the bar heights corresponding to each category heading and bar name; and draw the bar chart based on each category heading, bar name, and bar height; or, If the chart type is determined to be a radar chart, then the title of each vertex is determined based on the data group corresponding to the preset columns; the polar coordinate name is determined based on the second content corresponding to the preset index value in the data group corresponding to the remaining columns (excluding the preset columns); the polar coordinates corresponding to each title and polar coordinate name are determined based on the content excluding the second content in the data group corresponding to the remaining columns; and the radar chart is drawn based on each title, polar coordinate name, and polar coordinate; or, If the chart type is determined to be a line chart, then the axis title is determined based on the content corresponding to the preset index value in the data group; coordinate points are determined based on the content corresponding to the same index value (excluding the preset index value) in different data groups; and the line chart is drawn based on the axis title and the coordinate points; or, If the chart type is determined to be a pie chart, then the title of each section is determined based on the data group corresponding to the preset columns, the percentage of each section is determined based on the data group corresponding to the columns other than the preset columns, and the pie chart is drawn based on the title and percentage of each section.
[0132] In this embodiment, when drawing a bar chart, the data group can be understood as a sequence. The preset index value in this embodiment is used to indicate which content in the array. For example, if the preset index value is 1, it means that the first content corresponding to the preset index value 1 is the first content in the array.
[0133] In this embodiment, when drawing a radar chart, the polar coordinate names are used to distinguish different instances. For example, the data group corresponding to the first column is Mathematics, English, and Chinese. The polar coordinate name corresponding to the preset index value 1 in the data group corresponding to the second column is "Class 1". The polar coordinate name corresponding to the preset index value 1 in the data group corresponding to the third column is "Class 2". The different polar coordinate names distinguish "Class 1" and "Class 2".
[0134] When drawing a line chart, for example, the first item corresponding to the preset index value 1 in the first array is used as the X-axis title "Month", and the first item corresponding to the preset index value 1 in the second array is used as the Y-axis title "Income". Based on the second item 12 corresponding to the preset index value 2 in the first array and the second item 100 corresponding to the preset index value 2 in the second array, the coordinate point (12, 100) is determined, which means that the income in December is 100. The line chart is drawn by determining each coordinate point in turn.
[0135] It should be noted that although the method for drawing different types of charts described in this embodiment is based on the scenario of any data group including the content of any column written by the user, the rows and columns in this embodiment can be interchanged. The above implementation method is also applicable to the scenario of any data group including the content of any row written by the user. Just replace the columns in the above implementation method with rows. Based on the above implementation principle, whether the content of the row is used as the data group or the content of the column is used as the data group, the implementation principle is the same and both fall within the protection scope of this disclosure. It will not be elaborated here.
[0136] In some embodiments, taking any data group including the content written by the user in any column of the writing prompt table as an example, the data recognition results determined for different chart types are explained as follows: Scenario 1: Determine the chart type as a bar chart; Based on the data groups corresponding to the preset columns, determine the category titles of each preset coordinate axis. Based on the data groups corresponding to the columns other than the preset columns, determine the column height and column name corresponding to each category title. Based on the category titles, the column height and column name corresponding to each category title, draw a bar chart. In some embodiments, if the chart type is determined to be a bar chart, then each category title of the preset axis is determined according to the data group corresponding to the preset column, the column name is determined according to the first content corresponding to the preset index value in the data group corresponding to the remaining columns other than the preset column, the column height corresponding to each category title and column name is determined according to the content other than the first content in the data group corresponding to the remaining columns, and the bar chart is drawn according to each category title, column name and column height.
[0137] In implementation, as shown in Writing Prompt Table 1, under the scenario where the chart type is known, the user writes content in Writing Prompt Table 1. After recognizing the user's writing, the data content of each cell in the Writing Prompt Table is obtained. A bar chart is then drawn using the data content of that cell, as follows: Writing Tips Table 1
[0138] The writing prompt table can contain empty cells.
[0139] For example, the contents of the data group corresponding to column 1 are used as category headings on the X-axis. That is, based on the "Chinese, Math, English" in column 1, the category headings on the X-axis are "Chinese, Math, English". Based on the first content corresponding to the first element in column 2, the column name is "Class 1". Based on the first content corresponding to the first element in column 3, the column name is "Class 2". Based on the remaining elements (90, 95, 94) in column 2, the content corresponding to "Chinese" and "Class 1" is 90; and the content corresponding to "Math" and "Class 1" is 95. The content corresponding to "English" and "Class 1" is determined to be 94, thus the column name is determined to be "Class 1". The column height corresponding to the title "Chinese" is determined to be 90. The column height corresponding to the title "Mathematics" is determined to be 95. The column height corresponding to the title "English" is determined to be 94. Similarly, based on the content corresponding to the remaining elements (89, 99, 92) in the data group corresponding to the third column, the column name is determined to be "Class 2". The column height corresponding to the title "Chinese" is determined to be 89. The column height corresponding to the title "Mathematics" is determined to be 99. The column height corresponding to the title "English" is determined to be 92. Therefore, a bar chart is drawn based on the determined category titles, column names (Class 1, Class 2), and column heights.
[0140] Scenario 2: Determine the chart type as a radar chart; Based on the data group corresponding to the preset columns, determine the title of each vertex. Based on the data group corresponding to the columns other than the preset columns, determine the polar coordinates and polar coordinate names corresponding to each title. Based on the titles of each vertex and the polar coordinates and polar coordinate names corresponding to each title, draw a radar chart.
[0141] In some embodiments, if the chart type is determined to be a radar chart, then the title of each vertex is determined according to the data group corresponding to the preset column, the polar coordinate name is determined according to the second content corresponding to the preset index value in the data group corresponding to the remaining columns other than the preset column, the polar coordinates corresponding to each title and polar coordinate name are determined according to the content other than the second content in the data group corresponding to the remaining columns, and the radar chart is drawn according to each title, polar coordinate name and polar coordinate.
[0142] In implementation, as shown in Writing Prompt Table 1, under the scenario of a known chart type, the user writes content in Writing Prompt Table 1. After recognizing the user's writing, the data content of each cell in the Writing Prompt Table is obtained. The radar chart is then drawn using the data content of that cell, as follows: For example, the contents of the data group corresponding to column 1 are used as the titles of the vertices of the radar chart. That is, based on "Chinese, Math, English" in the data group of column 1, the titles of the vertices of the radar chart are determined to be "Chinese, Math, English". Based on the first content corresponding to the first element in the data group corresponding to column 2, the polar coordinate name is determined to be "Class 1". Based on the first content corresponding to the first element in the data group corresponding to column 3, the polar coordinate name is determined to be "Class 2". Based on the contents corresponding to the remaining elements (90, 95, 94) in the data group corresponding to column 2, the content corresponding to "Chinese" and "Class 1" is determined to be 90; the content corresponding to "Math" and "Class 1" is determined to be 95. The content corresponding to "English" and "Class 1" is determined to be 94, meaning the polar coordinate name is "Class 1". The polar coordinate corresponding to the title "Chinese" is 90, the polar coordinate corresponding to the title "Mathematics" is 95, and the polar coordinate corresponding to the title "English" is 94. Similarly, based on the content corresponding to the remaining elements (89, 99, 92) in the data group corresponding to the third column, the polar coordinate name is determined to be "Class 2". The polar coordinate corresponding to the title "Chinese" is 89, the polar coordinate corresponding to the title "Mathematics" is 99, and the polar coordinate corresponding to the title "English" is 92. Therefore, a radar chart is drawn based on the determined titles, polar coordinate names (Class 1, Class 2), and polar coordinates.
[0143] Scenario 3: Determine the chart type as a line chart; Based on the content corresponding to the preset index value in the data group, determine the title of the coordinate axis. Based on the content corresponding to the same index value other than the preset index value in different data groups, determine the coordinate points. Based on the title of the coordinate axis and the coordinate points, draw a line graph.
[0144] In implementation, as shown in Writing Prompt Table 2, under the scenario where the chart type is known, the user writes content in Writing Prompt Table 2. After recognizing the user's writing, the data content of each cell in the Writing Prompt Table is obtained. A line chart is then drawn using the data content of that cell, as follows: Writing Tips Table 2
[0145] For example, the content corresponding to the first element in each data group is used as the title of the coordinate axis. Specifically, the first element "month" in the data group corresponding to the first column is used as the title of the X-axis, and the first element "income" in the data group corresponding to the second column is used as the title of the Y-axis. Based on the second element in the data group corresponding to the first column and the second element in the data group corresponding to the second column, the coordinate point (3, 32) is determined. Similarly, based on the third element in the data group corresponding to the first column and the third element in the data group corresponding to the second column, the coordinate point (4, 44) is determined. Based on the fourth element in the data group corresponding to the first column and the fourth element in the data group corresponding to the second column, the coordinate point (5, 57) is determined. Based on the fifth element in the data group corresponding to the first column and the fifth element in the data group corresponding to the second column, the coordinate point (6, 14) is determined. A line chart is then drawn based on the coordinate axis titles and each coordinate point.
[0146] Scenario 4: Determine the chart type as a pie chart; Based on the data groups corresponding to the preset columns, determine the titles of each partition. Based on the data groups corresponding to the columns other than the preset columns, determine the proportions of each partition. Based on the titles and proportions of each partition, draw a pie chart.
[0147] In implementation, as shown in writing prompt table 3, under the scenario where the chart type is known, the user writes content in writing prompt table 3. After recognizing the user's writing content, the data content of each cell in the writing prompt table is obtained. A pie chart is then drawn using the data content of that cell, as follows: Writing Tips Table 3
[0148] For example, use the data in column 1 as the title of each section, i.e., the titles of each section are February, March, April, and May. Determine the proportion of each section title based on the data in column 2, i.e., the proportion of the section titled February is 10%, the proportion of the section titled March is 20%, the proportion of the section titled April is 30%, and the proportion of the section titled April is 40%. Draw a pie chart based on the titles and proportions of each section.
[0149] In some embodiments, the chart type can also be determined in any of the following ways: Method (1): The chart drawing instruction includes a chart selection instruction, which responds to the user's chart selection instruction in the intelligent chart drawing mode and determines the chart type corresponding to the chart selection instruction.
[0150] It should be noted that the intelligent drawing chart mode in this embodiment includes a writing software that can be activated through some operation, allowing users to write and draw the written content into charts; or, the intelligent drawing chart mode in this embodiment includes an intelligent drawing chart mode activated in other software, such as activating a mode with chart drawing function in the handwriting software of an electronic whiteboard, or an electronic interface with chart drawing function.
[0151] In practice, after entering the intelligent charting mode on the electronic whiteboard, users will see buttons for various chart types displayed on the screen. Users can select different chart types by pressing different buttons. For example, after entering the intelligent charting mode, bar charts, radar charts, line charts, and pie charts will be displayed in the lower left corner of the display area. After clicking on the bar chart, the user will enter the intelligent charting editing interface corresponding to the bar chart.
[0152] In some embodiments, in response to a user's chart selection command in the intelligent chart mode, a writing prompt table is displayed in the display area, and writing trajectory information written by the user in the writing prompt table is received; when the user stops writing and waits for a preset time, a chart of the chart type corresponding to the chart selection command is drawn and displayed.
[0153] Method (2): The chart drawing instruction includes a first touch gesture, responds to the user's first touch gesture in the smart chart mode, identifies the first graphic generated by the first touch gesture, and determines the chart type based on the first graphic.
[0154] In some embodiments, the chart drawing instructions include at least one of the following: arrow drawing instructions, circle drawing instructions, polygon drawing instructions, cylinder drawing instructions, and rectangle drawing instructions. The polygon includes a first graphic with at least three sides. The arrow drawing instructions include single arrow drawing instructions, double arrow drawing instructions, and drawing instructions with two or more arrows, etc. The user can use a touch component to draw the first graphic on the display interface, and the processor identifies the type of the first graphic and determines different types of charts based on the different categories of the first graphic.
[0155] In some embodiments, after identifying the first graphic corresponding to the chart drawing instruction, before determining the chart type, the generation of a selection menu is also included. For example, after identifying a certain first graphic, a candidate menu can be generated. The candidate menu includes at least one chart type selection icon or contains one chart type selection icon and at least one selection icon for other operation objects. The chart type is determined based on the user's selection operation (e.g., clicking) on the selection icon.
[0156] In some embodiments, before responding to a user's chart drawing instruction in the intelligent chart mode, the system receives writing trajectory information written by the user, identifies the writing trajectory information, and obtains data identification results; then, in response to the user's chart drawing instruction in the intelligent chart mode, the system draws and displays a chart of the chart type corresponding to the chart drawing instruction based on the data identification results.
[0157] Optionally, the first graphic generated based on the first touch gesture includes, but is not limited to, at least one of the following: an arrow graphic, a circle graphic, a rectangle graphic, a cylinder graphic, and a polygon graphic.
[0158] If the first graphic is an arrow, the chart type is determined to be a line chart; if the first graphic is a circle, the chart type is determined to be a pie chart; if the first graphic is a rectangle, the chart type is determined to be a histogram; if the first graphic is a bar, the chart type is determined to be a bar chart; if the first graphic is a polygon, the chart type is determined to be a radar chart.
[0159] In this approach, the chart type can be determined using any one or more of the following methods: Method (2a): If the chart drawing instruction includes an arrow drawing instruction, then the chart type is determined to be a line chart. In practice, if the user draws a double arrow, the chart type is determined to be a line chart, and the generation of the line chart is triggered.
[0160] In some examples, the arrow drawing instructions in this embodiment include: drawing instructions for two arrows in different directions, such as two arrows drawn by the user with perpendicular directions; or drawing instructions for a double arrow, such as a double arrow drawn by the user. ".
[0161] In some examples, if the double-arrow drawing instruction includes a first arrow instruction "→" and a second arrow instruction "↑", then the direction of the X-axis of the drawn chart is determined according to the first direction pointed to by the first arrow instruction, and the direction of the Y-axis of the chart is determined according to the second direction pointed to by the second arrow instruction; or, if the double-arrow drawing instruction includes a first arrow instruction "↑" and a second arrow instruction "→", then the direction of the X-axis of the drawn chart is determined according to the first direction pointed to by the first arrow instruction, and the direction of the Y-axis of the chart is determined according to the second direction pointed to by the second arrow instruction; it should also be noted that the arrow drawing instruction is not only understood as the arrow drawn by the user, but can also include the instruction that the user-drawn graphic is recognized as an arrow, that is, the user-drawn line segment is recognized as an arrow by the product's pre-set program in this embodiment (the user-drawn line segment without an arrow corresponds to an arrow).
[0162] In practice, the direction of the X and Y axes in the chart can be determined by combining the correspondence between the X and Y axes and the cells in each column, and then the chart can be drawn. For example, if the left column cells correspond to the X axis, then the data content in the left column cells is the data on the X axis; similarly, if the right column cells correspond to the X axis, then the data content in the right column cells is the data on the Y axis. The displayed chart will be different depending on the direction of the X and Y axes. In this embodiment, the X-axis direction can be determined as horizontal based on the first received instruction to draw a horizontal arrow, or it can be determined as vertical based on the first received instruction to draw a vertical arrow. That is, the direction of the X-axis can be determined based on the direction of the first arrow, and then the direction of the Y-axis can be determined, thereby adjusting the direction of the chart's coordinate axes to provide users with more drawing options.
[0163] Method (2b): If the chart drawing instruction includes a circle drawing instruction, then the chart type is determined to be a pie chart. In practice, if the user draws a circle or a double arrow and a circle, the chart type is determined to be a pie chart, triggering the generation of a pie chart.
[0164] Method (2c): If the chart drawing instruction includes a rectangle drawing instruction, then the chart type is determined to be a histogram. In practice, if it is used to draw a rectangle or a double arrow and rectangle, then the chart type is determined to be a histogram, and histogram generation is triggered.
[0165] Method (2d): If the chart drawing instruction includes a cylindrical drawing instruction, then the chart type is determined to be a bar chart; in practice, if the user draws a cylinder, the chart type is determined to be a bar chart, and the generation of the bar chart is triggered.
[0166] Method (2e): If the chart drawing instruction includes a polygon drawing instruction, then the chart type is determined to be a radar chart. In practice, if the user draws a polygon, the chart type is determined to be a radar chart, triggering the generation of a radar chart.
[0167] In this embodiment, the data group can be a single data item or multiple data items, depending on the table content written by the user in the writing area.
[0168] In some examples, if a data group consists of two data items, data items in the same column or in the same row can be considered as one data group. The specific approach can be determined based on actual needs, and this embodiment does not impose excessive limitations on this. For example, if the chart type is a line chart, the data group includes two data items: one representing the X-axis coordinate value and the other representing the Y-axis coordinate value. If the chart type is a pie chart, the data group includes two data items: one representing the category name and the other representing the data corresponding to that category name. If the chart type is a histogram, the data group includes two data items: one representing the X-axis coordinate value and the other representing the Y-axis coordinate value.
[0169] This embodiment can also determine the data group through any of the following implementation methods: 2-1. Based on the preset correspondence between each row and the coordinate axis, determine the data content of each column as each data group; In practice, if a user enters two lines of data, the number of lines represents the X and Y axes, and the number of columns represents the number of data groups. The top row corresponds to the X-axis, and the bottom row corresponds to the Y-axis. The data in each column is arranged from top to bottom to determine the data groups (X, Y). Alternatively, the top row corresponds to the Y-axis, and the bottom row corresponds to the X-axis. The data in each column is arranged from bottom to top to determine the data groups (X, Y).
[0170] 2-2. Based on the preset correspondence between each column and the coordinate axis, determine the data content of each row as each data group.
[0171] In practice, if a user enters two columns of data, the number of rows represents the number of data groups, and the number of columns represents the X and Y axes. The leftmost column corresponds to the X-axis, and the rightmost column corresponds to the Y-axis. The data content of each row is arranged from left to right to determine the data groups (X, Y). Alternatively, the leftmost column corresponds to the Y-axis, and the rightmost column corresponds to the X-axis. The data content of each row is arranged from right to left to determine the data groups (X, Y).
[0172] In some examples, the titles of each axis are determined as follows: Based on the preset correspondence between columns and axes, the data content of each row of cells is determined as a data group; specifically, the content in the preset rows of user-written text is determined as the title of each axis, and the data content in other rows of cells is determined as a data group; or, Based on the preset correspondence between each row and the coordinate axis, the content written by the user in each column is determined as each data group; among them, the content written by the user in the preset column is determined as the title of each coordinate axis, and the data content in the cells of other columns is determined as each data group.
[0173] In some examples, this embodiment can also determine which column of the two cells will be used as the X-axis data and which column will be used as the Y-axis data based on the order in which the arrows are drawn, as shown in the following implementation: The data recognition result includes two columns of cells, and the double arrow drawing instructions include a first arrow instruction and a second arrow instruction drawn sequentially. The first arrow instruction corresponds to the first column of cells in the two columns of cells, and the second arrow instruction corresponds to the second column of cells in the two columns of cells. If the first direction of the first arrow instruction is the X-axis direction, then the first column of cells is determined to be the X-axis data of the chart, and the second column of cells is determined to be the Y-axis data of the chart; If the first direction of the first arrow instruction is the Y-axis direction, then the first column of cells is determined to be the Y-axis data of the chart, and the second column of cells is determined to be the X-axis data of the chart; In this configuration, the first arrow instruction is received earlier than the second arrow instruction, and the second direction of the second arrow instruction differs from the first direction. It is easily understood that if the first direction of the first arrow instruction is the X-axis direction, then the second direction of the second arrow instruction can be the Y-axis direction, and vice versa. The X-axis and Y-axis directions are predefined and perpendicular. Since the first and second arrow instructions are typically not perfectly perpendicular, a certain degree of error is allowed between the first and X-axis directions. Similarly, a certain degree of error is allowed between the second and Y-axis directions. Within this allowable error range, the first and second arrow instructions can have their first and second directions identified. Therefore, based on whether the identified first direction is the X-axis or Y-axis direction, the final determination is made whether the first column of data should be used as X-axis data or Y-axis data.
[0174] In this embodiment of the chart display method for writing scenarios without table lines, the principle of chart drawing is to process all the user's writing trajectory information into cells, resulting in individual cells. Each cell contains writing trajectory information. A handwriting recognition algorithm is used to recognize the writing trajectory information in each cell, thus obtaining the data content of each cell. After recognizing the data content of each cell, each data group is determined based on the data content, and each data group is drawn according to the chart type. It should be noted that the table data includes the position of each cell and the data content within each cell. The cell position is used to determine which cells form a data group, and the connection or arrangement order of the data groups, etc. The data content is used to determine the specific position of the data group on the coordinate axis, or the size or height of the data group in the chart.
[0175] In some embodiments, in writing scenarios without table lines, the table data written by the user includes the titles and / or data groups of each axis. The table generated in this embodiment can determine whether to add and display the titles of each axis in the generated table based on whether the table data contains the titles of each axis. It should be noted that this embodiment determines whether the table data contains the titles of each axis through a pre-set method. For example, this embodiment pre-sets the data in the top row of the table to be the titles of each axis, or pre-sets the data in the leftmost column to be the titles of each axis. Knowing in advance how the electronic whiteboard sets the titles of each axis, the user writes the titles of each axis in the top row or in the leftmost column. In practice, the titles and data content of each axis in the table data are determined through any of the following implementation methods: Method 1: Determine the content in the preset row of the user's writing as the title of each coordinate axis, and determine the data content in other cells as the data content; In practice, when drawing the titles of each coordinate axis, the data content in the first row of each cell can be used as the title of each coordinate axis, and the data content in other cells can be used as the data content.
[0176] Method 2: Determine the content in the preset columns of the user-written content as the titles of each coordinate axis, and determine the data content in other cells as the data content; In practice, when drawing the titles of each coordinate axis, the data content in the first column of each cell can be used as the title of each coordinate axis, and the data content in other cells can be used as the data content. Method 3: Determine the data content in each cell as the data content.
[0177] In practice, the titles and data content of each axis can be used interchangeably to draw the chart, without distinguishing between them. The data content in the cells can be used uniformly as the data content.
[0178] In some examples, charts are drawn from tabular data using the following specific process: Step 1: Determine the chart type according to the chart drawing instructions; In practice, there is a one-to-one correspondence between chart drawing instructions and chart types.
[0179] Optionally, the chart types in this embodiment include, but are not limited to, at least one of line charts, pie charts, histograms, column charts, and bar charts.
[0180] Optionally, the chart drawing instructions in this embodiment include, but are not limited to, at least one of touch gestures and touch commands. Touch gestures include at least one of drawing gestures and multi-finger touch gestures, and touch commands include click commands.
[0181] In some examples, touch gestures include, but are not limited to, at least one of the following: drawing a double arrow, drawing a circle, drawing a polygon, drawing a cylinder, and drawing a rectangle. It is easy to understand that a user can draw a double arrow in the display or chart interface to trigger the generation of a line chart, or draw a circle in the display or chart interface to trigger the generation of a pie chart, or draw a rectangle in the display or chart interface to trigger the generation of a histogram. Users can also click the draw button in the display, chart, or writing interface to trigger the corresponding chart drawing.
[0182] In some examples, the chart drawing instructions include instructions that trigger after a user stops writing and waits for a preset time in a smart chart drawing mode for a known chart type.
[0183] In some examples, the chart drawing instructions include at least one of the following: drawing a double arrow, drawing a circle, drawing a polygon, drawing a cylinder, and drawing a rectangle.
[0184] Step 3: Draw a chart corresponding to the chart type based on the data groups corresponding to the content written by the user.
[0185] Optionally, the user-written content can be divided into columns to determine multiple data groups; or, the user-written content can be divided into rows to determine multiple data groups.
[0186] Define any column of content written by the user as a data group; or define any line of content written by the user as a data group.
[0187] Optionally, based on the preset correspondence between each row and the coordinate axis, the content of each column written by the user can be determined as each data group; or, based on the preset correspondence between each column and the coordinate axis, the content of each row written by the user can be determined as each data group.
[0188] Optionally, the content in the preset row of the user-written content can be determined as the title of each coordinate axis, and the data content in other cells can be determined as the data content; or, the content in the preset column of the user-written content can be determined as the title of each coordinate axis, and the data content in other cells can be determined as the data content.
[0189] Optionally, the data content in each cell can be defined as the data content.
[0190] In some examples, if titles exist for each axis, the chart can be drawn according to the chart type and the data groups, and the titles for each axis can be added to the corresponding axis positions. If there are no titles for each axis, the chart is drawn directly based on the data groups. This embodiment can draw one or more types of charts, and the different types of charts can be determined according to the different chart drawing instructions received from the user.
[0191] It's important to note that when creating a line chart, the defined data sets can be understood as coordinate points, and these points are connected according to their order on the X-axis or Y-axis to create the line chart. Similarly, when creating a histogram, the defined data sets are also considered as coordinate points, and the height of each point is determined based on its Y-axis coordinate value, thus creating the histogram. Finally, when creating a pie chart, the defined data sets contain individual data points corresponding to different objects, and the pie chart is created using the proportion of each data point in the total.
[0192] like Figure 4 As shown, in some examples, if the chart type is a line chart, then an XY coordinate axis is drawn, and each data group is labeled on the drawn XY coordinate axis. At this time, each data group can be used as a coordinate point, and the coordinate points can be connected in ascending order of X-axis coordinates, or the coordinate points can be connected in ascending order of Y-axis coordinates, and finally a line chart is obtained.
[0193] like Figure 5As shown, in some examples, if the chart type is a histogram, then an XY coordinate axis is drawn, and each coordinate point is marked on the drawn XY coordinate axis. At this time, each data group can be used as a coordinate point, and a rectangle is drawn according to the distance of each coordinate point from the X-axis or the distance of each coordinate point from the Y-axis. The height of the rectangle is the distance of the coordinate point from the X-axis or the distance of the coordinate point from the Y-axis, and the width of the rectangle is a preset value.
[0194] like Figure 6 As shown, in some examples, if the chart type is a pie chart, each data group contains one data item, the size represented by each data item is determined as a proportion of the total of all data items, and a pie chart is drawn based on the proportion of each data item.
[0195] In some embodiments, the chart drawing instruction includes an instruction triggered by the user in a smart chart drawing mode of a known chart type, after stopping writing and waiting for a preset time.
[0196] In some embodiments, in response to a user's editing instruction in a smart chart mode of a known chart type, a preset chart is displayed in the display area, wherein the display style of the preset chart is determined according to the known chart type.
[0197] In practice, when a user selects a chart type, in the intelligent chart drawing mode of a known chart type, if the user stops writing and waits for a preset time, it is assumed that the user has written the required content in the writing prompt table. The user's writing content can then be recognized and a chart can be drawn, and the drawn chart can then be displayed.
[0198] In some embodiments, this implementation can also provide users with a guide template, which allows users to fill in the table content according to the content of the guide template, thereby standardizing the user's table content filling and improving the recognition accuracy. In this implementation, after determining the chart type, a guide template corresponding to the chart type is displayed in the display area of the screen. The guide template is used to guide the user in writing the table content according to the writing specifications corresponding to the chart type.
[0199] In some embodiments, a table template is displayed in the first section of the guide template, and a chart template is displayed in the second section of the guide template. The table template contains preset content, and the chart template includes charts corresponding to the preset content.
[0200] In some embodiments, if it is determined that the user has stopped writing and has not written after a preset time, the writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained.
[0201] In some embodiments, trajectory points whose pixel values are greater than a pixel threshold in the writing trajectory information of the display area of the display screen are identified, and data identification results are obtained.
[0202] In some embodiments, in response to a smart drawing start command triggered by a user on a first display interface of the writing software, a second display interface in smart drawing mode is displayed in the display area; After drawing and displaying the chart on the second display interface, in response to the user's insertion command, the chart on the second display interface is inserted into the first display interface of the writing software for display.
[0203] The writing software in this embodiment refers to software that allows users to write on the display interface using a stylus or finger, and displays the user's writing content in real time. The writing software includes, but is not limited to, writing functions, touch signal recognition functions, stylus recognition functions, and other additional functions. The writing functions include, but are not limited to, writing, erasing, marking, annotating, and clearing. The writing software in this embodiment includes a software entity with basic writing functions. This embodiment does not impose too many limitations on the functions included in the writing software other than basic writing functions.
[0204] If, after displaying the chart, the user adds annotation information related to the chart in the area where the chart is located, then in response to the user's insertion command, the chart and the annotation information are inserted into the first display interface for display.
[0205] In some embodiments, the smart drawing start command in this embodiment includes, but is not limited to, at least one of touch commands and touch gestures, wherein touch commands include, but are not limited to, at least one of click, single click, and double click, and touch gestures include, but are not limited to, at least one of writing commands and drawing commands formed by the user through touch with a finger or stylus.
[0206] In some embodiments, when the Smart Drawing Chart activation command is a second touch gesture, a second display interface in Smart Drawing Chart mode is displayed in the display area, including: Receive a second graphic drawn by the user on the first display interface of the writing software, wherein the second graphic is a second graphic generated based on the second touch gesture; The second graphic triggers the display of a second display interface in the intelligent drawing chart mode in the display area.
[0207] In practice, after a user draws a second graphic on the first display interface of the writing software, it will trigger the entry into the second display interface of the intelligent drawing chart mode.
[0208] In some embodiments, after receiving the second graphic drawn by the user on the first display interface of the writing software, the non-standard graphic drawn by the user is identified as a standard graphic, such as a rectangle whose sides are not perfectly straight. After the processor performs the identification, if it is determined to be a rectangle, the display screen is controlled to display a standard rectangle. At the same time, a candidate menu can also be generated on the first display interface, for example next to the standard rectangle. The candidate menu includes a first launch icon corresponding to the graphic. In response to the user's touch operation on the first launch icon, a second display interface of the chart type corresponding to the second graphic is triggered to be displayed in the display area.
[0209] In practice, after the user draws a second graphic on the first display interface of the writing software, a candidate menu is generated on the first display interface. The candidate menu includes a first launch icon, which is used to launch a second display interface of the chart type corresponding to the second graphic. At the same time, different second graphics drawn by the user are recognized by the processor, generating different first launch icons. Clicking the first launch icon will enter the second display interface. Different first launch icons correspond to different chart types displayed in the generated second display interface. That is, the user's click selection instruction on the first launch icon can also be understood as a chart drawing instruction.
[0210] In some embodiments, the corresponding chart type is determined by the different shapes of the second graphic drawn by the user on the first display interface. The first launch icon in the candidate menu also varies depending on the shape drawn by the user. By displaying the icon corresponding to the chart type of the graphic in the candidate menu, when the user touches the icon, the user will enter the second display interface of the corresponding chart type. The specific implementation is as follows: If the second graphic is cylindrical, then the first launch icon is a columnar icon, and in response to the user's touch operation on the columnar icon, the second display interface corresponding to the columnar graphic is triggered to be displayed. If the second graphic is a rectangle, then the first launch icon is a histogram icon. In response to the user's touch operation on the histogram icon, the second display interface corresponding to the histogram is triggered. If the second graphic is a circle, then the first launch icon is a pie icon, and in response to the user's touch operation on the pie icon, the second display interface corresponding to the pie chart is triggered to be displayed; If the second graphic is a polygon, then the first launch icon is a radar icon, and in response to the user's touch operation on the radar icon, the second display interface corresponding to the radar graphic is triggered to be displayed. If the second graphic is an arrow, then the first launch icon is a line icon, and in response to the user's touch operation on the line icon, the second display interface corresponding to the line graph is triggered.
[0211] In some embodiments, the candidate menu further includes a second launch icon, which includes an analysis template icon; wherein, the analysis template icon includes, but is not limited to: a SWOT (Strategic Analysis of Enterprise) icon, a KANO (KANO model, a useful tool for classifying and prioritizing user needs, based on analyzing the impact of user needs on user satisfaction, reflecting the non-linear relationship between product performance and user satisfaction) icon, etc. After displaying the second launch icon in the candidate menu, the following implementation steps are also performed: In response to the user's touch operation on the analysis template icon, the analysis template corresponding to the analysis template icon is inserted into the first display interface.
[0212] During implementation, a SWOT icon is displayed in the candidate menu of the first display interface. After the user clicks the SWOT icon, the corresponding analysis template is inserted into the first display interface. The user can then edit the analysis template and add relevant content.
[0213] In some implementations, for example, if a user draws a circle on the first display screen, a candidate menu is displayed on the first display screen, showing a pie chart icon and a KANO icon. If the user clicks the pie chart icon, they enter the second display screen corresponding to the pie chart in the intelligent charting mode, where they can draw the pie chart. If the user clicks the KANO icon, a corresponding analysis template is inserted on the first display screen, where the user can write and edit content. Based on the same principle, other implementation methods corresponding to different graphics also fall within the scope of this disclosure, and will not be elaborated here.
[0214] In some examples, this embodiment may also provide a method for partitioning the display area to distinguish between a writing area where the user writes and receives the user's writing trajectory information, and a chart area for displaying charts. Before responding to the user's chart drawing instructions, the specific implementation of this method is as follows: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information.
[0215] The writing area is easy to understand: it receives the user's writing trajectory information and other touch operations. Users can perform normal writing, clicking, and other control operations in the writing area. The chart area is used to display charts. When using the chart, after the user writes the content to be drawn in the writing area, the corresponding chart will be displayed in the chart area. By dividing the display area into sections, it is possible to better distinguish and display the user's writing trajectory information received in the writing area, and to display the drawn charts in the chart area, which is separate from the writing area. This improves the user experience.
[0216] To display charts in the chart area, after receiving a user's touch gesture (writing trajectory information) in the chart area and waiting for a preset time, the drawn chart will be displayed in the chart area. However, in the writing area, after receiving the user's writing trajectory information in the writing area and waiting for a preset time, in order to ensure the normal writing function of the writing area, other functions (such as chart display function) will not be triggered. Instead, it will continue to wait for the next time the user's writing trajectory information is received, thus effectively distinguishing the functions of the writing area and the chart area.
[0217] In some examples, the writing trajectory information in the writing area is identified; in response to the user's chart drawing command, a chart of the chart type corresponding to the chart drawing command is drawn according to the data recognition result, and the drawn chart is displayed in the chart area.
[0218] This embodiment can display at least one of a writing prompt table and a preset chart on the display area of the screen. The data content in the writing prompt table is empty, and the user can write table content in each cell of the writing prompt table. An optional implementation is to determine a writing area and a chart area in the display area of the screen, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information; in the writing area of the display area, a writing prompt table corresponding to the chart type is displayed, and / or, in the chart area of the display area, a preset chart corresponding to the chart type is displayed, wherein the content in the preset chart is also empty, that is, only the chart style is displayed and the chart content is not displayed. For example, a preset chart of the chart type of pie chart can be a pie chart without partitions.
[0219] In some embodiments, after responding to a user's chart selection instruction in intelligent chart mode and determining the chart type corresponding to the chart selection instruction, or after displaying a guide template corresponding to the chart type in the display area of the screen, the processor is further configured to execute: In response to the user's editing command in the intelligent charting mode of a known chart type, the system displays a writing prompt table and a preset chart in the display area; and receives the writing trajectory information of the user writing in the writing prompt table.
[0220] It should be noted that both the writing prompt table and the preset chart are empty at this time. The writing prompt table provides users with an empty table to facilitate inputting table content, while the preset chart provides users with chart styles to draw content on the preset chart based on the user's input. The number of rows and columns in the writing prompt table is fixed, or it can be set according to parameters input by the user. The display style of the preset chart is determined based on the chart type corresponding to the guide template.
[0221] In some examples, the chart area is also configured to receive chart drawing instructions from the user. In some examples, after receiving a chart drawing instruction from the user in the chart area and waiting for a preset time, the system responds to the user's chart drawing instruction by recognizing the writing trajectory information in the writing area; drawing a chart of the chart type corresponding to the chart drawing instruction based on the data recognition result; and displaying the drawn chart in the chart area.
[0222] In practice, after determining the writing area and the chart area in the display area of the display screen, the user's chart drawing instruction is received. The chart drawing instruction can be a chart drawing instruction triggered by the user in the chart area, or a chart drawing instruction triggered by the user in the writing area.
[0223] It should be noted that if the chart drawing command is a touch gesture, and the user triggers the chart drawing command in the chart area, such as drawing a double arrow, the electronic whiteboard in this embodiment is equipped with text recognition and graphic recognition functions. To distinguish between the user's writing trajectory information in the writing area and the user's writing trajectory information in the chart area, when recognizing the writing trajectory information, text recognition and / or number recognition are performed on the writing trajectory information in the writing area, while graphic recognition is performed on the writing trajectory information in the chart area. The main configuration is to recognize at least one of arrows, circles, and rectangles. Using different recognition methods allows for faster and more accurate recognition of the writing trajectory information in the writing area, and also enables rapid recognition of the user's chart drawing command in the chart area, quickly determining the type of chart drawn.
[0224] In some embodiments, the display area can also be divided into a writing area and a chart area in the following ways: In response to the user's editing command in the intelligent charting mode of a known chart type, the display area is divided into a writing area and a chart area, wherein the chart area is used to display the chart corresponding to the chart type.
[0225] In some embodiments, if the user has already selected a chart type and is in the intelligent chart drawing mode of a known chart type, the editing command can be triggered directly, thereby dividing the display area into a writing area and a chart area, making it convenient for the user to perform editing, writing and other operations in the writing area, and displaying the writing trajectory information of the writing area in the chart area.
[0226] In some embodiments, a writing area and a chart area are defined in the display area of the display screen, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display a chart corresponding to the writing trajectory information; in the writing area of the display area, a writing prompt table corresponding to the chart type is displayed, and / or, in the chart area of the display area, a preset chart corresponding to the chart type is displayed. In practice, the user can write content in each cell of the writing prompt table and draw the content on the preset chart according to the written content.
[0227] In some embodiments, users can also drag the content in the writing area to change its position, and they can also drag the content in the chart area to change its position.
[0228] In some embodiments, in response to a user's drag command to the writing area, the content of the writing area is moved in the corresponding direction; or, in response to a user's drag command to the chart area, the content of the chart area is moved in the corresponding direction.
[0229] In some embodiments, the writing prompt table in the writing area of this embodiment is draggable, and the writing prompt table is moved in the corresponding direction in response to the user's drag command on the writing area; or, the preset chart in the chart area is also draggable, and the preset chart is moved in the corresponding direction in response to the user's drag command on the chart area.
[0230] In some embodiments, after receiving the writing trajectory information written by the user in the writing prompt table, if it is determined that the user stops writing in the writing area and waits for a preset time, the writing trajectory information in the writing prompt table is identified to obtain a data identification result; and the data identification result is drawn on the preset chart to obtain a chart corresponding to the data identification result.
[0231] In some embodiments, after obtaining the chart corresponding to the data recognition result, the method further includes any of the following implementation methods: (1) Respond to the user's modification command, modify the corresponding writing trajectory information, and update the chart according to the modified writing trajectory information; In practice, if a user makes some modifications to the existing content in the writing area, the existing content in the writing area will be replaced with the modified writing trajectory information based on the modified writing trajectory information. Furthermore, the modified writing area content will be used to redraw the chart, and the existing chart in the chart area will be updated using the redrawn chart.
[0232] (2) In response to the user's instruction to add content, add the corresponding writing trajectory information, and update the chart according to the added writing trajectory information; In practice, if a user adds content to the existing writing area, the new content will not only be displayed in the writing area, but a new chart will also be redrawn based on the writing trajectory information of the new writing area, and the redrawn chart will be updated and displayed in the chart area. The new content includes, but is not limited to, inverted content, i.e., inserting new content before or in the middle of existing content. For example, inserting 0 between 1 2 will result in 1 0 2, or inserting 3 before 12 will result in 3 1 2.
[0233] (3) Responding to the user's stroke addition command, add the corresponding writing trajectory information strokes, and update the chart according to the writing trajectory information after adding strokes; In practice, strokes can be added to the original text or numbers. The user's writing can be re-identified based on the added strokes, and the chart can be redrawn based on the writing trajectory information after the strokes are added. The original chart can then be updated using the redrawn chart.
[0234] In some embodiments, the location of the newly added writing trajectory information and the area of overlap with existing writing trajectory information can be used to determine whether the newly added writing trajectory information is a modification of the original content, an addition to the original content, or an addition to existing strokes. For example, if the location of the newly added writing trajectory information overlaps with the location of existing writing trajectory information, and the overlap area is greater than a threshold, then the newly added writing trajectory information is determined to be a modification of the original content; if the location of the newly added writing trajectory information overlaps with the location of existing writing trajectory information, and the overlap area is not greater than a threshold, then the newly added writing trajectory information is determined to be an addition to existing strokes; if the location of the newly added writing trajectory information does not overlap with the location of existing writing trajectory information, and the location of the newly added writing trajectory information is before or in the middle of the location of existing writing trajectory information, then the newly added writing trajectory information is determined to be new content inserted before or in the middle of the original content.
[0235] (4) Responding to the user's erase command, erase the corresponding writing trajectory information, and update the chart according to the erased writing trajectory information; In practice, the user's erasure commands include, but are not limited to, palm erasure commands or eraser commands; the palm erasure command is the command triggered when the user erases the corresponding content in the writing area by simulating an eraser with their palm, and the eraser command is the command triggered when the user clicks the eraser option in the menu bar.
[0236] (5) Respond to the user's screen clearing command and clear all writing trajectory information.
[0237] During implementation, a one-click screen clearing function can also be set up. By triggering the screen clearing command, all writing trajectory information in the writing area can be cleared, while the charts in the chart area can be retained.
[0238] In some embodiments, after the display area is divided into a writing area and a chart area, the user can also execute any of the following commands on the chart area: In response to the user's full-screen preview command, the chart area is displayed in full-screen mode; or, Responding to user annotations in the chart area, display the content corresponding to the annotation; or, In response to a user's erase operation in the chart area, clear the content corresponding to the erase operation in the chart area; or, Responding to the user's clear screen command in the chart area, clear the content of the chart area; or, Responding to the user's save operation in the chart area, save the contents of the chart area; or, Responding to the user's command to switch chart types, the current chart type is switched; or, In response to the user's command to insert the chart area back, the content of the chart area of the currently displayed interface is inserted into the previous display interface.
[0239] In some examples, after determining the writing area and the chart area in the display area of the display screen, the writing trajectory information of the user is received in the writing area, the user's chart drawing instruction in the chart area is responded to, the writing trajectory information in the writing area is identified, the corresponding type of chart is drawn based on the table data determined by the data identification result, and the chart is displayed in the chart area.
[0240] The generated chart area may be a portion or the entirety of the electronic whiteboard's display area. If the generated chart area is a portion of the display area, the remaining area is a writing area used to receive the user's writing trajectory information and touch operations. The chart area is used to receive the user's chart drawing instructions and display the chart, wherein the chart drawing instructions include at least one of touch gestures and touch commands, which are not limited in this disclosure.
[0241] In some examples, this embodiment can partition the display area into a writing area and a chart area in any of the following ways: Method 1: Pre-divide the display area into a writing area and a chart area; In this mode, the writing area and chart area are directly displayed in the display area after the device starts up; or, The default program will directly display the writing area and chart area in the display area after startup.
[0242] In practice, for example, in the intelligent drawing chart mode of the electronic whiteboard, in response to the intelligent drawing chart mode triggered by the user, the display area is divided into a writing area and a chart area; or, in response to the user's editing command in the intelligent drawing chart mode with a known chart type, the display area is divided into a writing area and a chart area.
[0243] Method 2: After receiving the partition button triggered by the user, the display area will be divided into a writing area and a chart area; In this mode, before receiving the partition button triggered by the user, the user can perform normal writing interactions in all areas of the electronic whiteboard. When the user triggers the partition button, a new display area will be generated, which is divided into a writing area and a chart area.
[0244] Method 3: Once the user has finished writing, the display area will be divided into a writing area and a chart area; In this method, the divided writing area contains the writing trajectory information obtained by the user; In addition, in any of the above methods, partition labels can be displayed in each partition of the display area to help users distinguish them. For example, "Writing Area" can be displayed in the writing area, and "Chart Area" can be displayed in the chart area.
[0245] In some examples, this embodiment divides the display area into a writing area and a chart area. The relationship between the writing area and the chart area includes, but is not limited to, any one or more of the following: Type 1, such as Figure 7A As shown, the writing area and the chart area do not overlap; The second type, such as Figure 7B As shown, the chart area floats above the writing area and does not obscure the content in the writing area.
[0246] The third type is that the writing area and the chart area have an axially symmetrical relationship; The fourth type, such as Figure 7C As shown, the writing area and the chart area have a central symmetry relationship.
[0247] The fifth type, such as Figure 7D As shown, the writing area and the chart area have different shapes; or, the writing area and the chart area have the same shape. The sixth type, such as Figure 7E As shown, the backgrounds of the writing area and the chart area are different; or, the backgrounds of the writing area and the chart area are the same. The seventh type is where the writing area and the chart area are of different sizes; or, the writing area and the chart area are of the same size.
[0248] It should be noted that the relationship between the writing area and the chart area described above is only an example. Based on the same inventive concept, other relationships between the writing area and the chart area also fall within the protection scope of this disclosure, and are not limited here.
[0249] In some examples, this embodiment divides the display area into a writing area and a chart area, with each area occupying half of the display area, i.e., the display area is divided equally into a writing area and a chart area. Alternatively, the display area can be divided into a writing area and a chart area according to a preset ratio between the areas of the writing area and the chart area. The shapes and sizes of the writing area and the chart area can be the same or different; no further limitations are imposed here.
[0250] In some examples, the chart area in this embodiment can be determined in any of the following ways: Method 1: Determine the chart area in the display area of the display screen based on predefined location information; In practice, after the electronic whiteboard is powered on or the preset program is started, the display area is divided into a writing area and a chart area. The chart area can be placed to the right, left, top or bottom of the writing area.
[0251] Method 2: In response to the user's first partitioning instruction in the display area, determine the chart area in the display area corresponding to the first partitioning instruction.
[0252] Optionally, one approach is to pre-define the chart area corresponding to different first partition commands, and determine the chart area corresponding to the received first partition command. In this approach, when the user sends a first partition command in the display area, the display area will be divided into a writing area and a chart area, and the position of the chart area will correspond to the first partition command. If no first partition command is received from the user, the display area will be treated as a writing area for normal writing. Different first partition commands can be triggered by different keys, which are not specified in detail here. Another approach is to pre-define the chart area, and directly display the pre-defined chart area after receiving a first partition command. In this approach, when the user sends a first partition command in the display area, the display area will be divided into a writing area and a chart area, and the position of the chart area will be fixed.
[0253] In practice, when users do not need to draw, they can use the electronic whiteboard for normal writing and interaction. When users need to draw charts, they can trigger the electronic whiteboard to divide into sections by pressing the buttons on the currently displayed area or by using other methods such as the buttons on the stylus. After partitioning, users can still write and interact normally in the writing area. If a chart drawing command is triggered in the chart area and a preset time is waited, the chart will be displayed in the chart area.
[0254] In some examples, users can further partition the already partitioned display area. After displaying the drawn chart in the chart area, the writing area and chart area are partitioned again in the following way to facilitate the conversion of the user's newly written table content into corresponding charts for display. In this case, the writing area includes the two table contents written by the user, and the corresponding chart area includes the two charts corresponding to the two table contents written by the user. The details are as follows: In response to the user's second partitioning command, the writing area is divided into a first writing area and a second writing area, and the chart area is divided into a first chart area and a second chart area; It should be noted that in this embodiment, the first and second writing areas can be adjacent or separated by a chart area. Similarly, the first and second chart areas can be adjacent or separated by a writing area. For example, taking the division of both the writing and chart areas as an example, the resulting first and second writing areas, first chart area, and second chart area can be arranged in the following order from left to right in the display area: first writing area, second writing area, first chart area, second chart area; or, from left to right: first writing area, first chart area, second writing area, second chart area; or, from left to right: first writing area, first chart area, second chart area, second writing area; or, from left to right: first chart area, first writing area, second writing area, second chart area. This embodiment does not impose excessive limitations on the positional relationship between the divided writing and chart areas.
[0255] The first writing area is configured to display writing trajectory information received before the division, the second writing area is configured to display writing trajectory information received in the second writing area after the division, the first chart area is configured to display charts corresponding to the writing trajectory information in the first writing area, and the second chart area is configured to display charts corresponding to the writing trajectory information in the second writing area.
[0256] In practice, after dividing the writing area into a first writing area and a second writing area, the second writing area can receive the user's writing trajectory information. Users can input the content to be generated into a table in the second writing area, while the first writing area retains the content written by the user before the division. Optionally, the first writing area can also receive the user's writing trajectory information. The first chart area still displays the chart corresponding to the content written by the user before the division, while the second chart area displays the chart corresponding to the newly written table content. This allows meeting users to simultaneously view the table data and corresponding charts from both instances, facilitating comparison and improving the user's meeting interaction experience.
[0257] It should be noted that after receiving the user's second partitioning instruction, before dividing the writing area into the first and second writing areas, the trajectory information in the writing area can be scaled, translated, or otherwise manipulated. After responding to the user's second partitioning instruction, the trajectory information that was originally in the writing area is moved to the first writing area, and the original trajectory information can be scaled according to the size of the first writing area.
[0258] In some examples, this embodiment also provides a method for modifying writing trajectory information and displaying it in a chart for comparison. The design idea of this method is to obtain the modified writing trajectory information, determine the data content in the corresponding modified table, and then redraw the chart according to all the modified data content. The redrawn chart and the original chart before modification are displayed on the same coordinate axis or in different pie charts to compare the data content in the table before modification and the data content in the modified table. The comparison is made visually through charts, which effectively improves the user's meeting interaction experience.
[0259] In some examples, in response to a user's modification command, the modified writing trajectory information is obtained and stored in a first storage area, which is different from the storage area where the original writing trajectory information was stored.
[0260] In practice, by storing the original writing trajectory information and the modified writing trajectory information in different storage areas, the writing trajectory information can be retrieved from different storage areas more quickly when recognizing the writing trajectory information, thereby distinguishing the modified writing trajectory information from the original writing trajectory information during recognition.
[0261] In some examples, the user's modification instructions in this embodiment include, but are not limited to, at least one of the following: instructions triggered by different tips of the stylus; instructions triggered by different buttons of the stylus; and instructions triggered by the display area switching button.
[0262] In practice, when a user modifies the original written content in the writing area, this embodiment determines whether the writing trajectory has been modified in the following way: Method 1: Based on the received writing switching command from the stylus, determine that the writing trajectory information has been modified; Specifically, the receipt of the stylus writing switch command is determined in the following way: Method 1-1: Determine the received writing switching command of the stylus based on the writing commands of different stylus tips. In practice, if a dual-tip stylus is used, the writing commands triggered by the different tips of the stylus are different. If the first tip is used when writing in the writing area for the first time, and the second tip is used when modifying the written content, then after the electronic whiteboard receives the writing command triggered by the second tip, it will determine that it has received the writing switching command of the stylus. At this time, it will determine to modify the writing trajectory information and store the writing trajectory information generated by the second tip in the first storage area for use when drawing charts later.
[0263] Method 1-2: Based on the selection instructions triggered by different buttons on the stylus, determine the received stylus writing switching instructions.
[0264] In practice, if the first stylus corresponding to the first button is used when writing in the writing area for the first time, and the second stylus corresponding to the second button is used when modifying the written content, then after the electronic whiteboard receives the writing instruction triggered by the second stylus, it will determine that the writing switching instruction of the stylus has been received. At this time, it will determine to modify the writing trajectory information and store the writing trajectory information generated by the second stylus in the first storage area for use when drawing charts later.
[0265] Method 2: Based on the switching command triggered by the user's switching button on the display area, it is determined that the writing trajectory information has been modified.
[0266] In some examples, the modification of the writing trajectory information is determined based on the user's switching command triggered by the switching button in the writing area. In implementation, a switching button is set in the chart area. When the user opens the switching button (e.g., clicks the switching button once), the writing trajectory information is stored in the first storage area. When the user closes the switching button (e.g., clicks the switching button twice), the writing trajectory information is stored in a storage area other than the first storage area.
[0267] In some examples, after responding to the user's modification command, this embodiment can also differentiate and display the content modified by the user, specifically including: Determine the first content before modification and the second content after modification corresponding to the modification instruction; The first content and the second content are displayed simultaneously, wherein the first content and the second content are displayed in different formats.
[0268] The first and second content may be displayed in different colors, have different font styles, or different font sizes; or, the first content may be marked with an identifier and the second content may be displayed in bold. The display methods for the first and second content are as follows: Figure 8A , Figure 8B As shown.
[0269] In some examples, after obtaining the modified writing trajectory information and storing it in the first storage area, if the user's chart drawing instruction is received again, the modified writing trajectory information is identified and a chart is drawn. The coordinate axes used in this chart are the same as those used in the original chart of all the writing trajectory information before modification. While retaining the original displayed chart, the chart corresponding to the modified writing trajectory information is drawn again on the coordinate axes of this chart to provide users with data comparison and improve the meeting interaction experience.
[0270] In some examples, after obtaining the modified writing trajectory information and storing it in the first storage area, it is also configured to perform the following steps: Step 1: Obtain the modified writing trajectory information from the first storage area, and draw the first chart based on the writing trajectory information before and after modification; In practice, after obtaining the modified writing trajectory information, if the user's chart drawing instruction is received again, the user's chart drawing instruction will be responded to again, triggering the generation of the first chart. The first chart includes the first table data corresponding to the writing trajectory information before modification and the second table data corresponding to the writing trajectory information after modification.
[0271] In some examples, the first chart is drawn by following these steps: Step 1-1: From the cells divided by the writing trajectory information before modification, determine the first cell corresponding to the writing trajectory information after modification; Step 1-2: Replace the writing trajectory information in the first cell before modification with the modified writing trajectory information; Steps 1-3: Recognize the writing trajectory information in each replaced cell to obtain the data content of each cell; in practice, a handwriting recognition algorithm can be used to recognize the writing trajectory information to obtain the data content of each cell.
[0272] Steps 1-4: Determine the data in the second table based on the data content in each cell.
[0273] Step 2: Display the first table data and the second table data corresponding to the writing trajectory information before modification in the first chart at the same time, wherein the display styles of the first table data and the second table data are different.
[0274] In some examples, such as Figure 9A As shown, if the chart type corresponding to the chart drawing instruction is a line chart, then the first table data and the second table data will be displayed simultaneously on the same coordinate axis; like Figure 9BAs shown, if the chart type corresponding to the chart drawing instruction is a histogram, then the first table data and the second table data will be displayed simultaneously on the same coordinate axis.
[0275] In some examples, after obtaining the modified writing trajectory information and storing it in the first storage area, a second and third chart can also be drawn, as detailed below: The modified writing trajectory information is obtained from the first storage area, the second chart is drawn based on the writing trajectory information before modification, and the third chart is drawn based on the modified writing trajectory information. The second chart and the third chart are displayed simultaneously.
[0276] like Figure 9C As shown, if the chart type corresponding to the chart drawing instruction is a pie chart, then the second chart and the third chart will be displayed simultaneously using different pie charts.
[0277] The second and third charts have different display styles. In some examples, the display style includes, but is not limited to, at least one of color, shape, and line thickness. In practice, to distinguish between the second and third charts, lines of different colors, shapes, or thicknesses can be used. This embodiment does not impose excessive limitations on these aspects.
[0278] In some examples, the recognition of writing trajectory information (including numbers, graphics, titles of each coordinate axis, etc.) in this embodiment can be achieved using neural networks such as Convolutional Neural Networks (CNN) and Recurrent Neural Networks (RNN), for example, a Long Short-Term Memory (LSTM) model can be used.
[0279] In some embodiments, this embodiment also provides a text recognition model for recognizing writing trajectory information, and the specific recognition process is as follows: The writing trajectory information is input into a text recognition model for recognition, and the data content corresponding to the writing trajectory information is output; wherein the text recognition model includes multiple BiLSTM network layers and fully connected layers, and any BiLSTM network layer after the first two BiLSTM network layers has at least two outputs at its input connection, and the fully connected layer has at least three outputs at its input connection; The at least two outputs include the outputs of any two BiLSTM network layers preceding any one BiLSTM network layer, and the at least three outputs include the outputs of any three BiLSTM network layers preceding the fully connected layer.
[0280] In some embodiments, the output of any BiLSTM network layer preceding the last BiLSTM network layer is used as the input to at least the next two BiLSTM network layers.
[0281] In some embodiments, any one of the BiLSTM network layers is obtained by reducing network parameters using a Dropout layer during model training, and the number of hidden layers contained in any one of the BiLSTM network layers is less than a preset value.
[0282] In some embodiments, the text recognition model includes four BiLSTM network layers and a fully connected layer. The first BiLSTM network layer includes a first input and a first output, the second BiLSTM network layer includes a second input and a second output, the third BiLSTM network layer includes a third input and a third output, and the fourth BiLSTM network layer includes a fourth input and a fourth output. The first input is used to input the writing trajectory information, the second input is connected to the first output, the third input is connected to the first output and the second output, the fourth input is connected to the first output, the second output and the third output, the fourth output is connected to the input of the fully connected layer, and the output of the fully connected layer is used to output the data content corresponding to the writing trajectory information.
[0283] In some examples, such as Figure 10 As shown, taking partitioning as an example, a chart drawing method provided by this disclosure embodiment will be described in detail in a writing scenario without table lines.
[0284] Step 1000: Determine the writing area and chart area of the electronic whiteboard display area; Step 1001: Receive the writing trajectory information of the user in the writing area, determine that writing is completed, obtain all the writing trajectory information in the writing area and store it in the storage area; Step 1002: Respond to the chart drawing command triggered by the user in the chart area, divide the writing trajectory information in the storage area into each cell according to the clustering algorithm, and recognize the writing trajectory information in each cell according to the handwriting recognition algorithm to obtain the first table data; Step 1003: Draw a chart of the type corresponding to the chart drawing command based on the data in the first table; Step 1004: Display the drawn chart in the chart area; Step 1005: Respond to the modification command triggered by the user in the writing area, obtain the modified writing trajectory information and store it in the first storage area; Step 1006: Respond again to the chart drawing command triggered by the user in the chart area, obtain the modified writing trajectory information from the first storage area, and draw the first chart based on the writing trajectory information before modification and the modified writing trajectory information. The first chart includes first table data and second table data corresponding to the modified writing trajectory information.
[0285] The data in the first table and the data in the second table are displayed differently. For example, the colors and line formats are different.
[0286] In some examples, such as Figure 11 As shown, in a writing scenario without table lines, this embodiment of the disclosure provides an implementation process for drawing a line chart, as detailed below: Step 1100: Determine the writing area and chart area of the electronic whiteboard display area; Step 1101: Receive the writing trajectory information of the user in the writing area, and after confirming that the writing is completed, obtain all the writing trajectory information in the writing area and store it in the storage area; Step 1102: Respond to the user's command to draw a double arrow in the chart area, divide the writing trajectory information in the storage area into each cell according to the automatic cell algorithm, and recognize the writing trajectory information in each cell according to the handwriting recognition algorithm to obtain the first table data; Step 1103: Draw a line chart based on the data in the first table; Step 1104: Display the drawn line chart in the chart area; Step 1105: Respond to the modification command triggered by the user in the writing area, obtain the modified writing trajectory information and store it in the first storage area; Step 1106: Respond again to the user's double arrow drawing command triggered in the chart area, retrieve the modified writing trajectory information from the first storage area, and draw the first line graph based on the writing trajectory information before modification and the modified writing trajectory information. The first line graph includes the first table data and the second table data corresponding to the modified writing trajectory information.
[0287] The data in the first table and the data in the second table are displayed differently.
[0288] In some examples, such as Figure 12 As shown, in a writing scenario without table lines, this embodiment of the disclosure provides an implementation process for drawing a histogram, as detailed below: Step 1200: Determine the writing area and chart area of the electronic whiteboard display area; Step 1201: Receive the writing trajectory information of the user in the writing area, and after confirming that the writing is completed, obtain all the writing trajectory information in the writing area and store it in the storage area; Step 1202: Respond to the user's command to draw a rectangle in the chart area, divide the writing trajectory information in the storage area into each cell according to the automatic cell algorithm, and recognize the writing trajectory information in each cell according to the handwriting recognition algorithm to obtain the first table data; Step 1203: Draw a histogram based on the data in the first table; Step 1204: Display the drawn histogram in the chart area; Step 1205: Respond to the modification command triggered by the user in the writing area, obtain the modified writing trajectory information and store it in the first storage area; Step 1206: Respond again to the user's rectangle drawing command triggered in the chart area, retrieve the modified writing trajectory information from the first storage area, and draw the first histogram based on the writing trajectory information before modification and the modified writing trajectory information. The first histogram includes the first table data and the second table data corresponding to the modified writing trajectory information.
[0289] The data in the first table and the data in the second table are displayed differently.
[0290] In some examples, such as Figure 13 As shown, in a writing scenario without table lines, this embodiment of the disclosure provides an implementation process for drawing a pie chart, as detailed below: Step 1300: Determine the writing area and chart area of the electronic whiteboard display area; Step 1301: Receive the writing trajectory information of the user in the writing area, determine that writing is completed, obtain all the writing trajectory information in the writing area and store it in the storage area; Step 1302: Respond to the user's circular drawing command triggered in the chart area, divide the writing trajectory information in the storage area into each cell according to the clustering algorithm, and recognize the writing trajectory information of each cell according to the handwriting recognition algorithm to obtain the data content in each cell; Step 1303: Draw the first pie chart based on the data content in each cell; Step 1304: Display the first pie chart in the chart area; Step 1305: Respond to the modification command triggered by the user in the writing area, obtain the modified writing trajectory information and store it in the first storage area; Step 1306: Respond again to the user's circular drawing command triggered in the chart area, retrieve the modified writing trajectory information from the first storage area, and draw the second pie chart based on the writing trajectory information before and after modification. Step 1307: Display the first pie chart and the second pie chart simultaneously, with the first pie chart and the second pie chart displayed in different ways.
[0291] In some embodiments, such as Figure 14 As shown, this embodiment provides a method for displaying charts in a writing scenario with table lines. The specific implementation steps of this method are as follows: Step 1400: Respond to the user's chart selection instruction in the intelligent chart mode and determine the chart type corresponding to the chart selection instruction; Step 1401: Display the guide template corresponding to the chart type in the display area of the screen. Display the table template in the first section of the guide template and the chart template in the second section. Step 1402: In response to the user's editing command in the intelligent charting mode with a known chart type, the display area is divided into a writing area and a chart area. A writing prompt table is displayed in the writing area, and a preset chart is displayed in the chart area. Step 1403: Receive the writing trajectory information of the user in the writing prompt table; Step 1404: In the intelligent chart drawing mode of a known chart type, the user stops writing and waits for a preset time. Then, the writing trajectory information in the writing prompt table is identified, the data recognition result is obtained, and the corresponding chart type is drawn and displayed on the preset chart based on the data recognition result.
[0292] In some embodiments, the data recognition result includes multiple data groups, where any one data group includes content written by the user in any column of the writing prompt table, or content written by the user in any row of the writing prompt table. In practice, the writing trajectory information contained in each cell is determined based on the positional relationship between each trajectory point in the writing trajectory information and the cells in the writing prompt table; the writing trajectory information contained in each cell is recognized to obtain the data content of each cell; the data content of each cell is divided by column to obtain multiple data groups, or the data content of each cell is divided by row to obtain multiple data groups.
[0293] like Figures 15A-15E As shown, in a writing scenario with table lines, taking a bar chart as an example, the different interfaces displayed on the electronic whiteboard during the chart display process are explained as follows: like Figure 15AAs shown, when a user triggers a chart selection command - bar chart in the Smart Chart mode, the system responds to the command, confirming that the chart type corresponding to the command is a bar chart. A guide template for the bar chart is then displayed in the display area. This guide template includes a first section and a second section. The first section is the editing area, used to display the table template, and the second section is the chart preview area, used to display the chart template. In the table template, the first row and first column are grayed out to indicate that writing is not allowed. The remaining columns are used to prompt the user for the corresponding content to be written in each column. For example, the content of the first column is the horizontal axis title, and the content of the first row is the legend, used to represent the column names. Different legends are represented by columns with different fill content. The remaining content is the specific data used to represent the column height corresponding to the title and legend. An edit button can also be displayed on this display interface, or the user can click the close button in the display interface to trigger the edit command. It should be noted that if the user switches to another table after editing the bar chart and then returns to the bar chart, the edited content is displayed directly, and the guide template for the bar chart is not accessed again. The guide template is only displayed when the Smart Chart function with a known chart type is first opened.
[0294] like Figure 15B As shown, when a user triggers an editing command in the bar chart's guided template display interface, the system responds to the user's editing command in the bar chart's intelligent charting mode by dividing the display area into a writing area and a chart area. A writing prompt table is displayed in the writing area, and a preset chart is displayed in the chart area. The writing prompt table contains empty data, and the first cell in the first row and first column is not editable. The number of rows and columns in the writing prompt table is fixed; for example, it can be set to 4... A table with 13 rows and 12 columns is constructed using table lines. The writing prompt table is composed of table lines, and the style of the preset chart is determined according to the preset UI style.
[0295] Optionally, the writing prompt table in the writing area can be dragged. For example, the initial position of the writing prompt table can be set, and the table can be dragged downwards until the critical row table is fully displayed, at which point it can no longer be dragged downwards. Users can also drag the writing prompt table using multi-finger touch controls, such as using 2 to 4 fingers.
[0296] like Figure 15CAs shown, users can write content in the writing prompt table, and the preset charts can then display the user's writing as a chart in real time. Basic writing functions include a 6.5px hard pen stroke, erasing, one-click screen clearing, exit, and insertion commands. The insertion command inserts the content of the currently displayed chart area into the previous display screen. If the user triggers the insertion command, the inserted chart is selected by default in the display screen, and operations such as moving, scaling, deleting, copying, and rotating the chart can be performed.
[0297] The rules for writing bar charts include, but are not limited to: (1) At least one valid cell must be written before the data is generated on the bar chart. The first cell in the first row and first column cannot be written. (2) Write title 1 in the first row, which corresponds to the legend. If the user does not write the legend, the legend will not be displayed. The legend in the bar chart represents the name of the column. Different columns can be distinguished by different colors, fill content, etc. (3) Write title 2 in the first column, which corresponds to the title on the horizontal axis. If the user does not write content in the first column, title 2 will not be displayed on the horizontal axis. (4) Write data from the second row and second column. The data format only supports integers and decimals. The user must write data for the corresponding chart to be generated. If non-data content is written in the corresponding cell, the corresponding column will not be displayed. (5) The content written in each column is a data group. After writing stops for 1 second, the corresponding chart is generated based on each data group. (6) The bar chart is drawn based on the cell with writing content in the lower right corner of the writing prompt table on the left. If there are empty cells in the previous cells, fill them with 0. If title 1 is empty, title 1 will not be displayed. If title 2 is empty, title 2 will not be displayed.
[0298] The writing trajectory information is recognized starting 1 second after the user stops writing, while still retaining the handwritten font used by the user in the writing prompt table. If the user adds or modifies the data in the writing prompt table, the writing trajectory information in the writing prompt table is re-recognized after 1 second of pause. It should be noted that if the writing content in the writing prompt table does not meet the writing requirements after recognition, the bar chart will not be updated.
[0299] Optionally, after writing, users can also drag the writing prompt table. At this time, the writing prompt table and the content written in the writing prompt table can be dragged at the same time. According to the movement of the writing prompt table, the position of the writing trajectory information in each cell of the writing prompt table will be moved accordingly to ensure that the position of the content written by the user in the writing prompt table remains unchanged.
[0300] Optionally, the display interface can also show buttons to switch between different functions. For example, clicking the formula button switches the current display interface to the formula function display interface, and clicking the line chart button switches the current display interface to the line chart function display interface. Optionally, the display interface can also show editing functions, such as writing, erasing, exiting, and undoing graphs, allowing users to switch between writing functions while writing in the writing area. For example, clicking the erase function after writing erases the corresponding content. If the user clicks exit, a dialog box will pop up asking the user to confirm the exit.
[0301] like Figure 15D As shown, you can also click the full-screen button on the display interface to preview the bar chart in full screen. For example, you can set an arrow button at the dividing line between the writing area and the chart area. Triggering the arrow button will enter full-screen mode. The bar chart display interface in full-screen mode is as follows: Figure 15E As shown. In full-screen mode, the charts in the original chart area are displayed in the center, with the size and proportions consistent with the preset UI design. In full-screen mode, users can write in the chart area for marking or annotation. Basic writing functions include: red pen, regular eraser size, one-click screen clear, palm erase, etc. Users can also save the current chart area content, such as saving annotated charts. In full-screen mode, users can also swipe right to exit full-screen mode and return to the previous mode, i.e., return to edit mode. Exiting full-screen mode retains the content in the chart area. If switching to other chart types within the Smart Chart mode, the content in the full-screen mode chart area is also retained.
[0302] like Figures 16A-16E As shown, in a writing scenario with table lines, taking a radar chart as an example, the different interfaces displayed on the electronic whiteboard during the chart display process are explained as follows: like Figure 16AAs shown, when a user triggers a chart selection command – radar chart – in the intelligent chart mode, the system responds to the command, confirms that the chart type is radar chart, and displays a guide template for the radar chart in the display area. This guide template includes a first section and a second section. The first section is an editing area for displaying the table template, and the second section is a chart preview area for displaying the chart template. In the table template, the first row and first column are grayed out to indicate that they are not writable. The remaining columns are used to prompt the user for the content to be written in each column. For example, the first column contains the titles of each vertex, and the first row contains the legend, used to represent different polar coordinate names. Different legends are represented by different forms of title prompts; for example, a solid title prompt represents Class 1, and a dashed title prompt represents Class 2. The remaining content contains the specific data, representing the polar coordinates of the corresponding titles and polar coordinate names. An edit button can also be displayed on this interface, or the user can click the close button in the display interface to trigger an edit command. It should be noted that after a user switches to another table and then returns to the radar chart, the edited content is displayed directly, and the user is no longer prompted to enter the radar chart's tutorial template. The tutorial template is only displayed when the Smart Chart function for a known chart type is opened for the first time.
[0303] like Figure 16B As shown, when a user triggers an editing command in the radar chart's guided template display interface, the display area is divided into a writing area and a chart area in response to the user's editing command in the radar chart's intelligent chart mode. A writing prompt table is displayed in the writing area, and a preset chart is displayed in the chart area. The writing prompt table contains empty data, and the first cell in the first row and first column is not editable. The number of rows and columns in the writing prompt table is fixed; for example, it can be set to 4... A table with 13 rows and 12 columns is constructed using table lines. The writing prompt table is composed of table lines, and the style of the preset chart is determined according to the preset UI style.
[0304] Optionally, the writing prompt table in the writing area can be dragged. For example, the initial position of the writing prompt table can be set, and the table can be dragged downwards until the critical row table is fully displayed, at which point it can no longer be dragged downwards. Users can also drag the writing prompt table using multi-finger touch controls, such as using 2 to 4 fingers.
[0305] like Figures 16C-16DAs shown, users can write content in the writing prompt table, and the preset charts can then display the user's writing as a chart in real time. Basic writing functions include a 6.5px hard pen stroke, erasing, one-click screen clearing, exit, and insertion commands. The insertion command inserts the content of the currently displayed chart area into the previous display screen. If the user triggers the insertion command, the inserted chart is selected by default in the display screen, and operations such as moving, scaling, deleting, copying, and rotating the chart can be performed.
[0306] The rules for writing radar charts include, but are not limited to: (1) At least one valid cell must be written before the data is generated on the radar chart. The cell in the first row and first column cannot be written. (2) Write title 1 in the first row, which corresponds to the legend. If the user does not write the legend, the legend will not be displayed. The legend in the radar chart represents the polar coordinate name. (3) Write title 2 in the first column, which corresponds to the title of each vertex. If the user does not write content in the first column, title 2 will not be displayed on the vertex of the radar chart. (4) Write data from the second row and second column. The data format only supports integers and decimals. The user must write data for the corresponding chart to be generated. If non-data content is written in the corresponding cell, the corresponding polar coordinates will not be displayed. (5) The content written in each column is a data group. After writing stops for 1 second, each polar coordinate, polar coordinate name, and vertex title of the radar chart are generated based on each data group. (6) The radar chart is drawn based on the cell with written content in the lower right corner of the writing prompt table on the left. If there are any empty cells before this, they are filled with 0. If Title 1 is empty, it is not displayed. If Title 2 is empty, it is not displayed. It should be noted that the radar chart has a minimum of 3 vertices and is at least a polygon and at most a 12-sided polygon. If the user writes less than or equal to 3 rows of data in the writing prompt table, a polygon radar chart is drawn with 3 rows of data, and empty cells in these 3 rows are filled with 0.
[0307] The writing trajectory information is recognized starting 1 second after the user stops writing, while still retaining the handwritten font used by the user in the writing prompt table. If the user adds or modifies the data in the writing prompt table, the writing trajectory information in the writing prompt table is re-recognized after the user stops writing for 1 second. It should be noted that if the writing content in the writing prompt table does not meet the writing requirements after recognition, the radar chart will not be updated.
[0308] Optionally, after writing, users can also drag the writing prompt table. At this time, the writing prompt table and the content written in the writing prompt table can be dragged at the same time. According to the movement of the writing prompt table, the position of the writing trajectory information in each cell of the writing prompt table will be moved accordingly to ensure that the position of the content written by the user in the writing prompt table remains unchanged.
[0309] Optionally, the display interface can also show buttons to switch between different functions. For example, clicking the formula button switches the current display interface to the formula function display interface, and clicking the line chart button switches the current display interface to the line chart function display interface. Optionally, the display interface can also show editing functions, such as writing, erasing, exiting, and undoing graphs, allowing users to switch between writing functions while writing in the writing area. For example, clicking the erase function after writing erases the corresponding content. If the user clicks exit, a dialog box will pop up asking the user to confirm the exit.
[0310] You can also click the full-screen button on the display interface to preview the radar chart in full screen. For example, you can set an arrow button at the dividing line between the writing area and the chart area. Triggering the arrow button will enter full-screen mode. The radar chart display interface in full-screen mode is as follows: Figure 16E As shown. In full-screen mode, the charts in the original chart area are displayed in the center, with the size and proportions consistent with the preset UI design. In full-screen mode, users can write in the chart area for marking or annotation. Basic writing functions include: red pen, regular eraser size, one-click screen clear, palm erase, etc. Users can also save the current chart area content, such as saving annotated charts. In full-screen mode, users can also swipe right to exit full-screen mode and return to the previous mode, i.e., return to edit mode. Exiting full-screen mode retains the content in the chart area. If switching to other chart types within the Smart Chart mode, the content in the full-screen mode chart area is also retained.
[0311] like Figures 17A-17E As shown, in scenarios with table lines, taking a pie chart as an example, the different interfaces displayed on the electronic whiteboard during the chart display process are explained as follows: like Figure 17AAs shown, when a user triggers a chart selection command - pie chart - in Smart Chart mode, the system responds to the command, confirming that the chart type is a pie chart. A guide template for the pie chart is then displayed in the display area. This guide template includes a first section and a second section. The first section is the editing area, used to display the table template, and the second section is the chart preview area, used to display the chart template. The first column in the table template is used to write the titles (legends) of each section, and the second column is used to write the data corresponding to each title. Different legends are represented by different filled sectors, and the data corresponding to different titles indicates the percentage of that sector. An edit button can also be displayed on this interface, or a close button can be clicked to allow the user to trigger an edit command. It should be noted that if a user edits the pie chart, switches to another table, and then returns to the pie chart, the edited content is displayed directly, and the guide template is not accessed again. The guide template is only displayed when the Smart Chart function with a known chart type is first opened. Optionally, an arrow button can be displayed on the dividing line between the first and second sections in the guide template. Users can trigger the arrow button to display the chart template in the second section in full screen.
[0312] like Figure 17B As shown, when a user triggers an editing command in the pie chart's guided template display interface, the display area is divided into a writing area and a chart area in response to the user's editing command in the pie chart's intelligent chart mode. A writing prompt table is displayed in the writing area, and a preset chart is displayed in the chart area. The writing prompt table contains empty data and has a fixed number of rows and columns, for example, 2. The table is 13. The writing prompt table is composed of table lines. The style of the preset chart is determined according to the preset UI style.
[0313] Optionally, the writing prompt table in the writing area can be dragged. For example, the initial position of the writing prompt table can be set, and the table can be dragged downwards until the critical row table is fully displayed, at which point it can no longer be dragged downwards. Users can also drag the writing prompt table using multi-finger touch controls, such as using 2 to 4 fingers.
[0314] like Figure 17C As shown, users can write content in the writing prompt table, and the preset charts can then display the user's writing as a chart in real time. Basic writing functions include a 6.5px hard pen stroke, erasing, one-click screen clearing, exit, and insertion commands. The insertion command inserts the content of the currently displayed chart area into the previous display screen. If the user triggers the insertion command, the inserted chart is selected by default in the display screen, and operations such as moving, scaling, deleting, copying, and rotating the chart can be performed.
[0315] The rules for writing pie charts include, but are not limited to: (1) At least one valid cell must be written before the data is generated on the pie chart; (2) The first column is for writing the title (including at least one of text, English, numbers, and symbols), which corresponds to the legend. If the user does not write the legend, the legend will not be displayed. The legend in the pie chart represents the title of each section; (3) The second column is for writing the data, which corresponds to the percentage of each section. The data format supports integers and decimals. The user must write the data to generate the corresponding chart. If non-data content is written in the corresponding cell, the corresponding section will not be displayed. (4) The pie chart sections are arranged clockwise from the 12 o'clock position according to the row arrangement order in the writing prompt table. (5) The content written in each column is a data group. After writing stops for 1 second, the title and percentage of each section are generated according to each data group. (6) The pie chart is drawn based on the cell with written content in the lower right corner of the writing prompt table on the left. If there are empty cells in the previous cells, 0 is filled in. If the title is empty, the title of each section will not be displayed.
[0316] The writing trajectory information is recognized starting 1 second after the user stops writing, while still retaining the handwritten font used by the user in the writing prompt table. For example... Figure 17D As shown, if the user adds or modifies the data in the writing prompt table, the writing trajectory information in the writing prompt table will be re-identified 1 second after the user stops writing, and the displayed pie chart will be updated accordingly. It should be noted that if the writing content in the writing prompt table does not meet the writing requirements after recognition, the pie chart will remain unchanged.
[0317] Optionally, after writing, users can also drag the writing prompt table. At this time, the writing prompt table and the content written in the writing prompt table can be dragged at the same time. According to the movement of the writing prompt table, the position of the writing trajectory information in each cell of the writing prompt table will be moved accordingly to ensure that the position of the content written by the user in the writing prompt table remains unchanged.
[0318] Optionally, the display interface can also show buttons to switch between different functions. For example, clicking the formula button switches the current display interface to the formula function display interface, and clicking the line chart button switches the current display interface to the line chart function display interface. Optionally, the display interface can also show editing functions, such as writing, erasing, exiting, and undoing graphs, allowing users to switch between writing functions while writing in the writing area. For example, clicking the erase function after writing erases the corresponding content. If the user clicks exit, a dialog box will pop up asking the user to confirm the exit.
[0319] You can also click the full-screen button on the display interface to preview the pie chart in full screen. For example, you can set arrow buttons on the dividing line between the writing area and the chart area. Triggering the arrow button will enter full-screen mode. The pie chart display interface in full-screen mode is as follows: Figure 17E As shown. In full-screen mode, the charts in the original chart area are displayed in the center, with the size and proportions consistent with the preset UI design. In full-screen mode, users can write in the chart area for marking or annotation. Basic writing functions include: red pen, regular eraser size, one-click screen clear, palm erase, etc. Users can also save the current chart area content, such as saving annotated charts. In full-screen mode, users can also swipe right to exit full-screen mode and return to the previous mode, i.e., return to edit mode. Exiting full-screen mode retains the content in the chart area. If switching to other chart types within the Smart Chart mode, the content in the full-screen mode chart area is also retained.
[0320] like Figures 18A-18D As shown, in a writing scenario with table lines, taking a line chart as an example, the different interfaces displayed on the electronic whiteboard during the chart display process are explained as follows: like Figure 18A As shown, when a user triggers a chart selection command – line chart – in the Smart Chart mode, the system responds to the command, confirming that the chart type is a line chart. A guide template for the line chart is then displayed in the display area. This guide template includes a first section and a second section. The first section is the editing area, used to display the table template, and the second section is the chart preview area, used to display the chart template. The first row of the table template is used to write the titles (legends) of each axis, and the remaining rows are used to write the data corresponding to each title. Different legends are represented by different axis titles, and the data corresponding to different titles represents the coordinate points. An edit button can also be displayed on this interface, or a close button can be clicked to allow the user to trigger an edit command. It should be noted that if a user edits a line chart, switches to another table, and then returns to the line chart, the edited content is displayed directly, and the guide template is not accessed again. The guide template is only displayed when the Smart Chart function with a known chart type is first opened. Optionally, an arrow button can be displayed on the dividing line between the first and second sections of the guide template, allowing the user to fully view the chart template in the second section by triggering the arrow button.
[0321] like Figure 18BAs shown, when a user triggers an editing command in the guided template of the line chart, the display area is divided into a writing area and a chart area in response to the user's editing command in the intelligent charting mode of the line chart. A writing prompt table is displayed in the writing area, and a preset chart is displayed in the chart area. The writing prompt table contains empty data and has a fixed number of rows and columns, for example, 2. The table is 13. The writing prompt table is composed of table lines. The style of the preset chart is determined according to the preset UI style.
[0322] Optionally, the writing prompt table in the writing area can be dragged. For example, the initial position of the writing prompt table can be set, and the table can be dragged downwards until the critical row table is fully displayed, at which point it can no longer be dragged downwards. Users can also drag the writing prompt table using multi-finger touch controls, such as using 2 to 4 fingers.
[0323] like Figure 18C As shown, users can write content in the writing prompt table, and the preset charts can then display the user's writing as a chart in real time. Basic writing functions include a 6.5px hard pen stroke, erasing, one-click screen clearing, exit, and insertion commands. The insertion command inserts the content of the currently displayed chart area into the previous display screen. If the user triggers the insertion command, the inserted chart is selected by default in the display screen, and operations such as moving, scaling, deleting, copying, and rotating the chart can be performed.
[0324] The rules for writing line charts include, but are not limited to: (1) At least one valid cell must be written before the data is generated on the line chart; (2) The first row is for writing the title (including at least one of text, English, numbers, and symbols), corresponding to the legend. If the user does not write the legend, the legend will not be displayed. The legend in the line chart represents the title of each axis; (3) The remaining rows are for writing data, corresponding to each coordinate point. The data format supports integers and decimals. The user must write data to generate the corresponding chart. If non-data content is written in the corresponding cell, the corresponding coordinate point will not be displayed. (4) The content written in each column is a data group. After writing stops for 1 second, the titles of each coordinate point and axis are generated based on each data group. (5) The line chart is drawn based on the cell with written content in the lower right corner of the writing prompt table on the left. If there are vacancies in the cells before this, 0 is added. If the title is empty, the title of the axis is not displayed.
[0325] The writing trajectory information is recognized starting 1 second after the user pauses writing, while still retaining the handwritten font in the writing prompt table. If the user adds or modifies the data in the writing prompt table, the writing trajectory information in the writing prompt table is re-recognized after 1 second of pause, and the displayed line graph is updated accordingly. It should be noted that if the writing content in the writing prompt table does not meet the writing requirements after recognition, the line graph will not be updated.
[0326] Optionally, after writing, users can also drag the writing prompt table. At this time, the writing prompt table and the content written in the writing prompt table can be dragged at the same time. According to the movement of the writing prompt table, the position of the writing trajectory information in each cell of the writing prompt table will be moved accordingly to ensure that the position of the content written by the user in the writing prompt table remains unchanged.
[0327] Optionally, the display interface can also show buttons to switch between different functions. For example, clicking the formula button switches the current display interface to the formula function display interface, and clicking the bar chart button switches the current display interface to the bar chart function display interface. Optionally, the display interface can also show editing functions, such as writing, erasing, exiting, and undoing graphs, allowing users to switch between writing functions while writing in the writing area. For example, clicking the erase graph after writing erases the corresponding content. If the user clicks exit, a dialog box will pop up asking the user to confirm the exit.
[0328] You can also click the full-screen button on the display interface to preview the line chart in full screen. For example, you can set an arrow button at the dividing line between the writing area and the chart area. Triggering the arrow button will enter full-screen mode. The line chart display interface in full-screen mode is as follows: Figure 18D As shown. In full-screen mode, the charts in the original chart area are displayed in the center, with the size and proportions consistent with the preset UI design. In full-screen mode, users can write in the chart area for marking or annotation. Basic writing functions include: red pen, regular eraser size, one-click screen clear, palm erase, etc. Users can also save the current chart area content, such as saving annotated charts. In full-screen mode, users can also swipe right to exit full-screen mode and return to the previous mode, i.e., return to edit mode. Exiting full-screen mode retains the content in the chart area. If switching to other chart types within the Smart Chart mode, the content in the full-screen mode chart area is also retained.
[0329] Optionally, if the content written by the user in the writing prompt table exceeds the preset number of rows, the content included in the preset number of rows in the writing prompt table is identified, and the remaining rows are discarded; or, if the content written by the user in the writing prompt table exceeds the preset number of columns, the content included in the preset number of columns in the writing prompt table is identified, and the remaining columns are discarded.
[0330] Optionally, if the number of digits in the integer part of the number identified in the writing prompt table is greater than the first digit threshold, it is expressed in scientific notation; if the number of digits in the decimal part of the identified number exceeds the second digit threshold, the number of digits after the decimal point is retained to the preset number of digits.
[0331] Optionally, if the pixel value of a single trajectory point in the writing trajectory information is less than the pixel threshold, that trajectory point will be removed. The cell to which the writing trajectory information belongs is determined by the starting point of the coordinates after it has been recognized as standard font.
[0332] In some embodiments, such as Figure 19 As shown in the figure, this embodiment provides a method for displaying charts in a writing scenario where a title prompt is displayed. The specific implementation steps of this method are as follows: Step 1900: In response to the user's editing command in the intelligent charting mode with a known chart type, the display area is divided into a writing area and a chart area, and a title prompt is displayed in the writing area; Step 1901: In the first area corresponding to the title prompt, obtain the first writing trajectory information representing the title, and in the second area corresponding to the title prompt, obtain the second writing trajectory information representing the content; The first region and the second region are separated by the title prompt.
[0333] Step 1902: In the intelligent chart drawing mode of a known chart type, the user stops writing and waits for a preset time. The writing trajectory information in the writing area is then identified, the data recognition result is obtained, and the corresponding chart type is drawn and displayed in the chart area based on the data recognition result.
[0334] In some embodiments, the data recognition result includes the title of each coordinate axis and multiple cells, and the data recognition result also includes the position of each cell and the data content in each cell.
[0335] The processor is specifically configured to determine the data recognition result in the following manner: The writing trajectory information of the first region is identified to obtain the titles of each coordinate axis; the writing trajectory information of the second region is divided into each cell, and the writing trajectory information in each cell is identified to obtain the data content of each cell in the second region; the data recognition result is determined based on the titles, the data content of each cell in the second region, and the positional relationship between the titles and each cell.
[0336] like Figure 20 As shown, in a writing scenario where title prompts are displayed, taking a line chart as an example, the different interfaces displayed on the electronic whiteboard during the chart display process are explained as follows: like Figure 20 As shown, two horizontal line segments are displayed in the writing area of the display area. Users can write titles above the horizontal line segments and write content below them. After the user stops writing for 1 second, the writing trajectory information of the user in the writing area is recognized. The content above the recognized horizontal line segment is used as the title of the coordinate axis, and the data of each line below the recognized horizontal line segment is used as a coordinate point to draw a line graph. Optionally, the number of characters above the horizontal line is less than a threshold, and the number of lines below the horizontal line is less than a threshold.
[0337] The display area can also show buttons for switching between different functions, such as different chart types and formula charts. It can also display basic writing function buttons, such as at least one of writing, erasing, undoing, and redoing charts. A line chart can also be displayed via multi-finger touch to achieve full-screen display. At least one of a complete, save, and exit button can be displayed to perform corresponding operations on the generated chart. Optionally, the undo / redo buttons allow for forward / backward movement, but data changes caused by undoing / redoing are not updated to the axes in real time. In implementation, after clicking the complete button, the current axis content is inserted back into the whiteboard canvas (the electronic whiteboard in non-chart mode or the previous display interface) at the scale of the large window. It cannot be edited again. A maximum of six charts can be inserted into a single canvas (excluding copied charts, which can be copied infinitely). If the chart area is empty, the complete button is grayed out and cannot be inserted into the whiteboard canvas. If the chart area only has axes but no data, it can still be inserted back into the whiteboard canvas. In implementation, if the user clicks on a formula chart in the current display interface to switch to formula mode, the content in the current display area is retained.
[0338] The writing rules include: pen shape, thickness 6.5px, white; (1) Write two columns of data in the writing area on the left. The format of each column of data is title (content above the horizontal line) + data (number below the horizontal line). Stop writing for 1 second after each writing to start recognition; the first column of data is the x-coordinate and the second column of data is the y-coordinate. The horizontal axis scale is consistent with the user's written data and is equidistant, and the vertical axis scale data increases proportionally.
[0339] If the user is only writing table data in the writing area of the intelligent chart mode, then the user can also manually draw horizontal and vertical lines in the chart area (without arrow recognition algorithm, the user can draw two strokes to form the coordinate axis) to generate the coordinate axis. The coordinate axis is used as the condition for inputting the data on the left. The data recognized in the two columns on the left is input into the coordinate axis to generate a line chart. The content above the horizontal line is the title of the horizontal and vertical coordinate axes.
[0340] Optionally, the writing area can be erased using the eraser; the area crossed is the erased area. After erasing or modifying the content, the user can regenerate the chart and update the original chart. Alternatively, the user can use the one-click clear screen button to clear all content in the chart area, including the axes.
[0341] In practice, if the two rows of data on the left have different numbers, the missing portion will not be displayed when the data is first generated on the coordinate axis. A suitable preset spacing between each two columns is set according to writing habits; if the distance between two numbers exceeds the preset spacing, it is considered as two separate columns of data. A coordinate axis with a fixed position and size can also be generated; the coordinate points are updated in real time according to changes in the writing content on the left, and the line chart is generated according to the user's writing order in the writing area (from left to right). Optionally, dragging the chart area with a single finger (with the finger within the chart area) can change the size of the chart area window and scale the displayed chart proportionally.
[0342] In some embodiments, such as Figure 21 As shown in the figure, the strategy for row and column segmentation of user-written content without tables in this embodiment, both in writing scenarios without table lines and in writing scenarios with title prompts, is as follows: Step 2100: Convert the writing trajectory information into strokes, and determine the centroid of the strokes based on the average coordinate values of the trajectory points in the strokes; Step 2101: Based on the length of the stroke, resample the trajectory points in the stroke to increase the number of trajectory points in the stroke; Resampling involves increasing the number of trajectory points in a stroke based on its length. The purpose of this is to prevent the inability to determine the separation position when using the projection method due to excessively sparse trajectory points.
[0343] Step 2102: Project the resampled trajectory points onto the X-axis to obtain the projection histogram of the X-axis. Then, perform a scaling-down mapping on the projection histogram of the X-axis to obtain the first projection histogram. Optionally, after scaling down the projection histogram of the X-axis, normalization can be performed to obtain a normalized first projection histogram. The following steps are then performed on the normalized first projection histogram.
[0344] Step 2103: Determine the column separator line based on the trough positions in the first projection histogram; Step 2104: Project the writing trajectory information contained in any column onto the Y-axis to obtain the projection histogram of the Y-axis. Then, perform a reduction mapping on the projection histogram of the Y-axis to obtain the second projection histogram. Optionally, after scaling down the projection histogram of the Y-axis, normalization can be performed to obtain a normalized second projection histogram. The following steps are then performed on the normalized second projection histogram.
[0345] Step 2105: Determine the row separator line of any column based on the trough position in the second projection histogram of any column; Step 2106: Determine each cell based on the column separator and row separator; Step 2107: Divide the stroke into each cell according to the relationship between the center of gravity of the stroke and the position of each cell.
[0346] Step 2108: Identify the writing trajectory information in each cell to obtain the data content in each cell; Step 2109: Determine the data recognition result based on the position of each cell and the data content in each cell.
[0347] Taking a user-written content of 5 rows and 2 columns as an example, this embodiment provides an example of row and column division.
[0348] like Figure 21A As shown, the X-axis projection histogram is obtained by projecting the resampled trajectory points onto the X-axis; as... Figure 21B As shown, after scaling down the X-axis projection histogram, a first projection histogram is obtained. The midpoint of the X-coordinate range (width of the trough) where the Y-coordinate value is 0 in the first projection histogram is used as the position of the column separator. Based on the determined column separator, the writing trajectory information is divided into two columns.
[0349] like Figure 21C As shown, this is the Y-axis projection histogram obtained by projecting the writing trajectory information contained in the first column onto the Y-axis; as... Figure 21DAs shown, the second projection histogram of the first column is obtained by scaling down the Y-axis projection histogram. The middle Y-coordinate value of the Y-coordinate range (width of the trough) where the X-coordinate value is 0 in the second projection histogram is used as the position of the row separator line of the first column, thus dividing the first column into multiple rows.
[0350] Similarly, such as Figure 21E As shown, this is the Y-axis projection histogram obtained by projecting the writing trajectory information contained in the second column onto the Y-axis; as... Figure 21F As shown, the second projection histogram of the second column is obtained by scaling down the Y-axis projection histogram. The middle Y-coordinate value of the Y-coordinate range (width of the trough) where the X-coordinate value is 0 in the second projection histogram is used as the position of the row separator line of the second column, thus dividing the second column into multiple rows.
[0351] It should be noted that in this embodiment, the method for determining cells first divides the data into columns, and then divides each column into rows. This solves the problem of misalignment of content in different columns within a row due to users' non-standard handwriting. Even if the content belonging to different columns in each row is not on the same horizontal line, the method in this embodiment can still accurately divide the data content in each cell, accurately achieving row and column division. This implementation method can also solve the problem of misaligned handwritten columns affecting recognition in vertical tables. Figure 21G , Figure 21H As shown in the diagram, this embodiment provides several schematic diagrams of the division.
[0352] In some embodiments, such as Figure 22 As shown in the figure, the strategy for row and column segmentation of user-written content without tables in this embodiment, both in writing scenarios without table lines and in writing scenarios with title prompts, is as follows: Step 2200: Convert the writing trajectory information into strokes, and determine the centroid of the strokes based on the average coordinate values of the trajectory points in the strokes; Step 2201: Based on the length of the stroke, resample the trajectory points in the stroke to increase the number of trajectory points in the stroke; Step 2202: Project the resampled trajectory points onto the Y-axis to obtain the projection histogram of the Y-axis. Then, perform a scaling-down mapping on the projection histogram of the Y-axis to obtain the second projection histogram. Optionally, after scaling down the projection histogram of the Y-axis, normalization can be performed to obtain a normalized second projection histogram. The following steps are then performed on the normalized second projection histogram.
[0353] Step 2203: Determine the row separator line based on the trough positions in the second projection histogram; Step 2204: Project the writing trajectory information contained in any line onto the X-axis to obtain the projection histogram of the X-axis. Then, perform a reduction mapping on the projection histogram of the X-axis to obtain the first projection histogram. Optionally, after scaling down the projection histogram of the X-axis, normalization can be performed to obtain a normalized first projection histogram. The following steps are then performed on the normalized first projection histogram.
[0354] Step 2205: Determine the column separator line of any row based on the trough position in the first projection histogram of any row; Step 2206: Determine each cell based on the column separator and row separator; Step 2207: Divide the stroke into each cell according to the relationship between the center of gravity of the stroke and the position of each cell.
[0355] Step 2208: Identify the writing trajectory information in each cell to obtain the data content in each cell; Step 2209: Determine the data recognition result based on the position of each cell and the data content in each cell.
[0356] It should be noted that in this embodiment, the method of determining cells first divides the rows and then divides each row into columns. This can solve the problem of blank rows appearing in the table due to users' non-standard writing. Using the method in this embodiment, blank rows can be identified, the data content in each cell can be accurately divided, and the division of rows and columns can be accurately achieved.
[0357] In some embodiments, such as Figure 23 As shown in the figure, the strategy for row and column segmentation of user-written content without tables in this embodiment, both in writing scenarios without table lines and in writing scenarios with title prompts, is as follows: Step 2300: Convert the writing trajectory information into strokes, and determine the centroid of the strokes based on the average coordinate values of the trajectory points in the strokes; Step 2301: Based on the length of the stroke, resample the trajectory points in the stroke to increase the number of trajectory points in the stroke; Step 2302: Project the resampled trajectory points onto the X-axis and Y-axis simultaneously to obtain the projection histogram of the X-axis and the projection histogram of the Y-axis. Perform a reduction mapping on the projection histogram of the X-axis and the projection histogram of the Y-axis respectively to obtain the first projection histogram and the second projection histogram. Optionally, after scaling down the projection histogram of the Y-axis, normalization can be performed to obtain a normalized second projection histogram; or, after scaling down the projection histogram of the X-axis, normalization can be performed to obtain a normalized first projection histogram. The following steps are then performed on the normalized first and second projection histograms.
[0358] Step 2303: Determine the column separator line based on the trough position in the first projection histogram, and determine the row separator line based on the trough position in the second projection histogram. Step 2304: Determine each cell based on the column separator and row separator; Step 2305: Divide the stroke into each cell according to the relationship between the center of gravity of the stroke and the position of each cell.
[0359] Step 2306: Identify the writing trajectory information in each cell to obtain the data content in each cell; Step 2307: Determine the data recognition result based on the position of each cell and the data content in each cell.
[0360] It should be noted that the method for determining cells in this embodiment simultaneously divides rows and columns, which can solve the problem of empty cells appearing in the table due to users' non-standard writing. Using the method in this embodiment, empty cells, that is, cells without writing trajectory information, can be identified, and the data content in each cell can be accurately divided, thus accurately dividing rows and columns.
[0361] In some embodiments, this embodiment also provides a text recognition model, including: multiple recurrent neural network (RNN) layers, wherein the input connection of any RNN layer after the first two RNN layers has at least two outputs; The at least two outputs include the outputs of any two RNN layers preceding any one of the RNN layers.
[0362] In some embodiments, the text recognition model further includes a fully connected layer whose input is connected to at least three outputs. These at least three outputs include the outputs of any three preceding RNN layers. The output of any RNN layer preceding the last RNN layer is used as the input to at least two subsequent RNN layers.
[0363] Optionally, the RNN network layer can be a BiLSTM network layer or a GRU (Gate Recurrent Unit) network layer. The choice can be made according to the user's actual needs, and no further restrictions are imposed here.
[0364] Taking BiLSTM as an example, this embodiment also provides a text recognition model, including: multiple BiLSTM network layers, wherein the input connection of any BiLSTM network layer after the first two BiLSTM network layers has at least two outputs; wherein the at least two outputs include the outputs of any two BiLSTM network layers preceding the aforementioned BiLSTM network layer.
[0365] The text recognition model provided in this embodiment also includes a fully connected layer, the input connection of which has at least three outputs, and the at least three outputs include the outputs of any three BiLSTM network layers preceding the fully connected layer.
[0366] In some embodiments, the output of any BiLSTM network layer preceding the last BiLSTM network layer is used as the input to at least the next two BiLSTM network layers.
[0367] In practice, the output of each BiLSTM network layer is a one-dimensional matrix. If the input of a BiLSTM network layer is two outputs, then the BiLSTM network layer actually adds the one-dimensional matrices of the outputs of the previous two BiLSTM network layers, that is, adds the values at corresponding positions to obtain a new one-dimensional matrix, and then processes the new one-dimensional matrix using the BiLSTM network layer.
[0368] In some embodiments, the specific connection relationships of the text recognition model provided in this embodiment are as follows: Figure 24 As shown, the text recognition model includes four BiLSTM network layers and a fully connected layer. The first BiLSTM network layer includes a first input and a first output, the second BiLSTM network layer includes a second input and a second output, the third BiLSTM network layer includes a third input and a third output, and the fourth BiLSTM network layer includes a fourth input and a fourth output. The first input is used to input the writing trajectory information, the second input is connected to the first output, the third input is connected to the first output and the second output, the fourth input is connected to the first output, the second output and the third output, the fourth output is connected to the input of the fully connected layer, and the output of the fully connected layer is used to output the data content corresponding to the writing trajectory information.
[0369] Specifically, the first BiLSTM layer takes the writing trajectory information as input and outputs out1; the second BiLSTM layer takes out1 as input and outputs out2; the third BiLSTM layer takes out1+out2 as input and outputs out3; the fourth BiLSTM layer takes out1+out2+out3 as input and outputs out4; the fully connected layer takes out2+out3+out4 as input and outputs the data content corresponding to the writing trajectory information.
[0370] In practice, each BiLSTM network layer contains 64 hidden layers and the fully connected layer contains 3816 neurons. The 3816 neurons represent the final classification categories, which include 3755 Chinese characters, 26 English letters, 10 Arabic numerals, and 25 commonly used punctuation marks.
[0371] Each BiLSTM network layer is obtained by reducing network parameters using a Dropout layer during model training. During model training, a Dropout layer with a probability of 0.5 is used after each BiLSTM. In the data transmission of the text recognition model, 50% of the parameters are randomly set to 0, i.e., some connections are randomly deleted, in order to reduce model overfitting and accelerate model convergence.
[0372] Compared to current text recognition models, the text recognition model in this embodiment reduces the number of hidden layers, thus not only reducing the model size by several times but also improving network degradation by altering connection relationships, while maintaining accuracy. In implementation, the model size is compressed from 5.1MB to 1.3MB, facilitating deployment on terminal devices (the original model used 128 hidden layers in each of the four BILSTM network layers; this embodiment reduces the number of hidden layers in each BILSTM to 64, resulting in a reduction of approximately four times).
[0373] In some embodiments, this embodiment also provides an automatic grid projection method for automatically dividing user-written content into various cells, so as to facilitate the automatic recognition of writing trajectory information in each cell using a trajectory recognition algorithm. The core idea of the automatic grid projection method provided in this embodiment is to use the projection of writing trajectory information onto the X and Y axes to obtain row and column dividing lines, thereby determining each cell. The specific implementation flow of this method is as follows: Obtain writing trajectory information for the display area of the screen; Based on the first projection histogram of the writing trajectory information on the first coordinate axis and the second projection histogram of the writing trajectory information on the second coordinate axis, determine each row separator line and each column separator line; Determine each cell based on the row separator and column separator.
[0374] The first and second coordinate axes are perpendicular to each other.
[0375] In some embodiments, the writing trajectory information is divided into multiple rows according to row separators, and into multiple columns according to column separators. The border lines of the table are determined based on the minimum and maximum values of the trajectory points in all the writing trajectory information on the first and second coordinate axes. Each cell is determined based on the column separators, row separators, and border lines.
[0376] In some embodiments, row separators and column separators are determined as follows: Based on the trough positions in the first projection histogram of the first coordinate axis according to the writing trajectory information, column separators are determined; based on the trough positions in the second projection histogram of the second coordinate axis according to the writing trajectory information contained in any column, row separators are determined for any column; or, Based on the trough positions in the second projection histogram of the second coordinate axis according to the writing trajectory information, determine the row separator line; based on the trough positions in the first projection histogram of the first coordinate axis according to the writing trajectory information contained in any row, determine the column separator line of any row; or, Based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information, the column separator line is determined, and based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information, the row separator line is determined.
[0377] In some embodiments, column separators are determined as follows: The column separator line is determined based on the location of the valleys in the first projection histogram where the width of the valley is greater than the threshold.
[0378] In some embodiments, line separators are determined as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0379] It should be noted that in this embodiment, the method of determining cells can be improved by first dividing the columns and then dividing each column into rows. This solves the problem of misalignment of content in different columns of each row due to users' non-standard handwriting, and also addresses the issue of misaligned handwritten columns affecting recognition in vertical tables. If the rows are divided first and then the columns are divided within each row, this solves the problem of blank rows in the table caused by users' non-standard handwriting. Furthermore, if both row and column division are performed simultaneously, this solves the problem of empty cells in the table caused by users' non-standard handwriting.
[0380] Example 2: Based on the same inventive concept, this disclosure also provides a method for displaying charts. Since this method is the same as the method used by the electronic whiteboard in this disclosure, and the principle of solving the problem is similar to that of the electronic whiteboard, the implementation of this method can refer to the implementation of the electronic whiteboard, and the repeated parts will not be described again.
[0381] like Figure 25 As shown, the implementation process of this method is as follows: Step 2500: Recognize the writing trajectory information of the display area of the display screen and obtain the data recognition result; Step 2501: Respond to the user's chart drawing instruction and determine the chart type corresponding to the chart drawing instruction; Step 2502: Respond to the user's chart drawing instruction, draw a chart of the chart type corresponding to the chart drawing instruction based on the data recognition result, and display the drawn chart in the display area.
[0382] As an optional implementation, before identifying the writing trajectory information of the display area of the screen and obtaining the data identification result, the method further includes: A writing prompt table is displayed in the display area, wherein the writing prompt table is used to prompt the user to write in each cell of the writing prompt table; Receive the writing trajectory information written by the user in the writing prompt table.
[0383] As an optional implementation, displaying the writing prompt table in the display area includes: The reference position of the writing prompt table is determined based on the position of the writing trajectory information initially written by the user in the display area; Based on the reference position of the writing prompt table, a writing prompt table with a fixed number of rows and columns is displayed in the display area, wherein the writing trajectory information of the user's initial writing is located in the cell of the writing prompt table.
[0384] As an optional implementation, after displaying the writing prompt table, the method further includes: If the user continues writing beyond the range covered by the writing prompt table, then the number of rows and / or columns of the writing prompt table is increased according to the position of the user's continued writing trajectory; or, If the writing trajectory information of the user continues to write is located in the critical row of the writing prompt table, then the number of rows in the writing prompt table is increased; and / or, if the writing trajectory information of the user continues to write is located in the critical column of the writing prompt table, then the number of columns in the writing prompt table is increased.
[0385] As an optional implementation, the number of rows and columns of the writing prompt table is fixed or determined according to the parameters input by the user.
[0386] As an optional implementation, the data recognition result can be determined in any of the following ways: Method 1: Based on the positional relationship between each trajectory point in the writing trajectory information and the cells in the writing prompt table, determine the writing trajectory information contained in each cell; identify the writing trajectory information contained in each cell to obtain the data content of each cell; Method 2: Identify the writing trajectory information to obtain the content written by the user and the position of the content in the display area; determine the data content of each cell based on the position of the content and the position of the cell in the writing prompt table.
[0387] As an optional implementation, the data recognition result includes multiple cells, and the data recognition result also includes the position of each cell and the data content in each cell.
[0388] As an optional implementation method, the data recognition result is determined in the following way: Each cell is determined, and the writing trajectory information is divided into each cell, wherein each cell corresponds to a cell in the table, and the writing trajectory information contained in each cell corresponds to the data content in each cell; The writing trajectory information in each cell is identified to obtain the data content of each cell; The data recognition result is determined based on the position of each cell and the data content in each cell.
[0389] As an optional implementation, the writing trajectory is divided into individual cells in the following manner: The writing trajectory information is converted into strokes, and the centroid of the stroke is determined based on the average coordinate value of the trajectory points in the stroke. Based on the relationship between the center of gravity of the stroke and the position of each cell, the stroke is divided into each cell.
[0390] As an optional implementation, the writing trajectory is divided into individual cells in the following manner: Obtain the writing order and coordinates of each trajectory point in the writing trajectory information; The similarity between the trajectory points is determined based on the writing order and coordinates of each trajectory point. The trajectory points whose similarity meets the preset threshold are divided into various cells.
[0391] As an optional implementation method, each cell is determined in the following way: Based on the trough positions in the first projection histogram of the first coordinate axis using the writing trajectory information, column separators are determined; based on the trough positions in the second projection histogram of the second coordinate axis using the writing trajectory information contained in any column, row separators are determined for any column; and each cell is determined based on the column separators and row separators; or, Based on the trough positions in the second projection histogram of the second coordinate axis according to the writing trajectory information, determine the row separator line; based on the trough positions in the first projection histogram of the first coordinate axis according to the writing trajectory information contained in any row, determine the column separator line of any row; determine each cell based on the row separator line and the column separator line; or, Based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information, the column separator is determined; based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information, the row separator is determined; and based on the row separator and column separator, each cell is determined.
[0392] As an optional implementation method, each cell is determined in the following way: Each cell is determined using a clustering algorithm.
[0393] As an optional implementation, column separators are determined in the following manner: Column separators are determined based on the locations of troughs in the first projection histogram where the trough width exceeds a threshold; and / or, Determine the line separator as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0394] As an optional implementation, the writing trajectory information is obtained by resampling the trajectory points in the writing trajectory information; the resampling is used to add the corresponding trajectory points in the strokes according to the length of each stroke in the writing trajectory information.
[0395] As an optional implementation, the first projection histogram is obtained by scaling down the projection histogram obtained by projecting the writing trajectory information onto the first coordinate axis; The second projection histogram is obtained by scaling down the projection histogram obtained by projecting the writing trajectory information onto the second coordinate axis.
[0396] As an optional implementation, before identifying the writing trajectory information of the display area of the screen and obtaining the data identification result, the method further includes: A title prompt is displayed in the display area, which is used to indicate to the user where to write the table title; First writing trajectory information is obtained in the first area corresponding to the title prompt, and second writing trajectory information is obtained in the second area corresponding to the title prompt.
[0397] As an optional implementation method, the data recognition result is determined in the following way: The writing trajectory information in the first region is identified to obtain the titles of each coordinate axis; The writing trajectory information of the second region is divided into individual cells, and the writing trajectory information in each cell is identified to obtain the data content of each cell in the second region. The data recognition result is determined based on the title, the data content in each cell of the second area, and the positional relationship between the title and each cell.
[0398] As an optional implementation, the chart drawing instructions include chart selection instructions, which determine the chart type in the following way: In response to a user's chart selection command in the intelligent chart mode, determine the chart type corresponding to the chart selection command.
[0399] As an optional implementation, the chart drawing instruction includes a first touch gesture, and the chart type is determined in the following way: In response to the user's first touch gesture in the intelligent chart mode, the system identifies the first graphic generated by the first touch gesture and determines the chart type based on the first graphic.
[0400] As an optional implementation, the chart drawing instructions include at least one of the following: arrow drawing instructions, circle drawing instructions, polygon drawing instructions, cylinder drawing instructions, and rectangle drawing instructions.
[0401] As an optional implementation, the chart drawing instructions include at least one of touch gestures and touch commands.
[0402] As an optional implementation, identifying the graphic corresponding to the chart drawing instruction and determining the chart type based on the graphic includes: If the chart drawing instructions include instructions for drawing arrows, then the chart type is determined to be a line chart; or, If the chart drawing instructions include instructions for drawing circles, then the chart type is determined to be a pie chart; or, If the chart drawing instructions include instructions for drawing rectangles, then the chart type is determined to be a histogram; or, If the chart drawing instructions include instructions for drawing a column, then the chart type is determined to be a bar chart; or, If the chart drawing instruction includes a polygon drawing instruction, then the chart type is determined to be a radar chart.
[0403] As an optional implementation, it also includes: The data recognition result includes two columns of cells, and the arrow drawing instructions include a first arrow instruction and a second arrow instruction drawn sequentially. The first arrow instruction corresponds to the first column of cells in the two columns of cells, and the second arrow instruction corresponds to the second column of cells in the two columns of cells. If the first direction of the first arrow instruction is the X-axis direction, then the first column of cells is determined to be the X-axis data of the chart, and the second column of cells is determined to be the Y-axis data of the chart; If the first direction of the first arrow instruction is the Y-axis direction, then the first column of cells is determined to be the Y-axis data of the chart, and the second column of cells is determined to be the X-axis data of the chart; Wherein, the first arrow instruction is received earlier than the second arrow instruction, and the second direction of the second arrow instruction is different from the first direction.
[0404] As an optional implementation, it also includes: In response to the user's intelligent drawing start command triggered on the first display interface of the writing software, a second display interface in intelligent drawing mode is displayed in the display area; After drawing and displaying the chart on the second display interface, in response to the user's insertion command, the chart on the second display interface is inserted into the first display interface of the writing software for display.
[0405] As an optional implementation, the smart drawing chart activation command includes a second touch gesture, and displaying the second display interface in the smart drawing chart mode on the display area includes: Receive a second graphic drawn by the user on the first display interface of the writing software, wherein the second graphic is a second graphic generated based on the second touch gesture; The second graphic triggers the display of a second display interface in the intelligent drawing chart mode in the display area.
[0406] As an optional implementation, after receiving the second graphic drawn by the user on the first display interface of the writing software, the method further includes: A candidate menu is generated on the first display interface, and the candidate menu includes a first launch icon corresponding to the second graphic. In response to the user's touch operation on the first launch icon, a second display interface of the chart type corresponding to the second graphic is triggered to be displayed in the display area.
[0407] As an optional implementation, generating a candidate menu on the first display interface includes: If the second graphic is cylindrical, then the first launch icon is a columnar icon, and in response to the user's touch operation on the columnar icon, the second display interface corresponding to the columnar graphic is triggered to be displayed. If the second graphic is a rectangle, then the first launch icon is a histogram icon. In response to the user's touch operation on the histogram icon, the second display interface corresponding to the histogram is triggered. If the second graphic is a circle, then the first launch icon is a pie icon, and in response to the user's touch operation on the pie icon, the second display interface corresponding to the pie chart is triggered to be displayed; If the second graphic is a polygon, then the first launch icon is a radar icon, and in response to the user's touch operation on the radar icon, the second display interface corresponding to the radar graphic is triggered to be displayed. If the second graphic is an arrow, then the first launch icon is a line icon, and in response to the user's touch operation on the line icon, the second display interface corresponding to the line graph is triggered.
[0408] As an optional implementation, the candidate menu further includes a second launch icon, which includes an analysis template icon; In response to the user's touch operation on the analysis template icon, the analysis template corresponding to the analysis template icon is inserted into the first display interface.
[0409] As an optional implementation, before responding to the user's chart drawing instruction, the method further includes: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information.
[0410] As an optional implementation, it also includes: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display a chart corresponding to the writing trajectory information; In the writing area of the display area, a writing prompt table corresponding to the chart type is displayed; and / or, In the chart area of the display area, the preset chart corresponding to the chart type is displayed.
[0411] As an optional implementation, the chart area is also configured to receive chart drawing instructions from the user.
[0412] As an optional implementation, determining the writing area and chart area in the display area of the display screen includes: In response to the user's editing command in the intelligent charting mode of a known chart type, the display area is divided into a writing area and a chart area, wherein the chart area is used to display the chart corresponding to the chart type.
[0413] As an optional implementation, it also includes: In response to the user's drag command on the writing area, the content of the writing area is moved in the corresponding direction; or, In response to the user's drag command on the chart area, the content of the chart area is moved in the corresponding direction.
[0414] As an optional implementation, it also includes: In response to the user's full-screen preview command, the chart area is displayed in full-screen mode; or, Responding to user annotations in the chart area, display the content corresponding to the annotation; or, In response to a user's erase operation in the chart area, clear the content corresponding to the erase operation in the chart area; or, Responding to the user's clear screen command in the chart area, clear the content of the chart area; or, Responding to the user's save operation in the chart area, save the contents of the chart area; or, Responding to the user's command to switch chart types, the current chart type is switched.
[0415] As an optional implementation, the writing area and the chart area do not overlap; or
[0416] The chart area floats above the writing area and does not obscure the content in the writing area.
[0417] As an optional implementation, determining the chart area in the display area of the display screen includes: Based on predefined location information, determine the chart area within the display area of the screen; or, In response to a user’s first partitioning instruction in the display area, a chart area corresponding to the first partitioning instruction is determined in the display area.
[0418] As an optional implementation, after the drawn chart is displayed in the chart area, the process further includes: In response to the user's second partitioning command, the writing area is divided into a first writing area and a second writing area, and the chart area is divided into a first chart area and a second chart area; The first writing area is configured to display the writing trajectory information received before the division, the second writing area is configured to display the writing trajectory information received in the second writing area after the division, the first chart area is configured to display the chart corresponding to the writing trajectory information of the first writing area, and the second chart area is configured to display the chart corresponding to the writing trajectory information of the second writing area.
[0419] As an optional implementation method, the writing trajectory information is identified in the following way: The writing trajectory information is input into a text recognition model for recognition, and the data content corresponding to the writing trajectory information is output; wherein the text recognition model includes multiple BiLSTM network layers, and any BiLSTM network layer after the first two BiLSTM network layers has at least two outputs at its input connection; The at least two outputs include the outputs of any two BiLSTM network layers preceding any one of the BiLSTM network layers.
[0420] As an optional implementation, the text recognition model further includes a fully connected layer, the input connection of which has at least three outputs, the at least three outputs including the outputs of any three BiLSTM network layers preceding the fully connected layer.
[0421] As an optional implementation, the output of any BiLSTM network layer preceding the last BiLSTM network layer is used as the input to at least the next two BiLSTM network layers.
[0422] As an optional implementation, the text recognition model includes four BiLSTM network layers and a fully connected layer. The first BiLSTM network layer includes a first input and a first output, the second BiLSTM network layer includes a second input and a second output, the third BiLSTM network layer includes a third input and a third output, and the fourth BiLSTM network layer includes a fourth input and a fourth output. The first input is used to input the writing trajectory information, the second input is connected to the first output, the third input is connected to the first output and the second output, the fourth input is connected to the first output, the second output and the third output, the fourth output is connected to the input of the fully connected layer, and the output of the fully connected layer is used to output the data content corresponding to the writing trajectory information.
[0423] As an optional implementation, after responding to the user's chart selection instruction in the intelligent chart mode, the method further includes: The display area shows a writing prompt table and receives writing trajectory information written by the user in the writing prompt table; After the user stops writing and waits for a preset time, a chart of the chart type corresponding to the chart selection instruction is drawn and displayed.
[0424] As an optional implementation, before responding to the user's chart drawing instruction in the intelligent charting mode, the method further includes: Receive writing trajectory information written by the user, identify the writing trajectory information, and obtain data identification results; After responding to the user's chart drawing command in the intelligent charting mode, the processor is specifically configured to execute: Based on the data recognition results, a chart of the chart type corresponding to the chart drawing instruction is drawn and displayed.
[0425] As an optional implementation, the acquisition of data recognition results includes: Divide the user-written content into columns to define multiple data groups; or, Divide the user's written content into lines to determine multiple data groups.
[0426] As an optional implementation, the data identification result includes multiple data groups; these multiple data groups are determined in the following manner: If a writing prompt table is displayed in the display area, the content written by the user in the writing prompt table will be divided into multiple data groups by column or by row; or, If the writing prompt table is not displayed in the display area, after determining each cell, the data content of each cell is divided by column or by row to obtain multiple data groups.
[0427] As an optional implementation, determining multiple data groups includes: Based on the preset correspondence between rows and coordinate axes, the content written by the user in each column is determined as a data group; or, Based on the preset correspondence between each column and the coordinate axis, the content written by the user in each line is determined as a data group.
[0428] As an optional implementation, determining multiple data groups includes: The content within the preset lines of the user-written text is designated as the titles of each coordinate axis, while other content is designated as data content; or, The content in the preset columns of the user-written text is determined as the title of each coordinate axis, and the other content is determined as the data content.
[0429] As an optional implementation, the step of responding to the user's chart drawing instruction and drawing a chart of the chart type corresponding to the chart drawing instruction based on the data recognition result includes: The chart type is determined according to the chart drawing instructions; Based on the data groups corresponding to the content written by the user, draw a chart corresponding to the chart type.
[0430] As an optional implementation, if any data set includes the content of any column written by the user, the chart is drawn as follows: If the chart type is determined to be a bar chart, then based on the data groups corresponding to the preset columns, determine the category headings on the preset axes; based on the first content corresponding to the preset index value in the data groups corresponding to the remaining columns (excluding the preset columns), determine the bar names; based on the content excluding the first content in the data groups corresponding to the remaining columns, determine the bar heights corresponding to each category heading and bar name; and draw the bar chart based on each category heading, bar name, and bar height; or, If the chart type is determined to be a radar chart, then the title of each vertex is determined based on the data group corresponding to the preset columns; the polar coordinate name is determined based on the second content corresponding to the preset index value in the data group corresponding to the remaining columns (excluding the preset columns); the polar coordinates corresponding to each title and polar coordinate name are determined based on the content excluding the second content in the data group corresponding to the remaining columns; and the radar chart is drawn based on each title, polar coordinate name, and polar coordinate; or, If the chart type is determined to be a line chart, then the axis title is determined based on the content corresponding to the preset index value in the data group; coordinate points are determined based on the content corresponding to the same index value (excluding the preset index value) in different data groups; and the line chart is drawn based on the axis title and the coordinate points; or, If the chart type is determined to be a pie chart, then the title of each section is determined based on the data group corresponding to the preset columns, the percentage of each section is determined based on the data group corresponding to the columns other than the preset columns, and the pie chart is drawn based on the title and percentage of each section.
[0431] As an optional implementation, the step of drawing a chart of the same type as the chart drawing instruction based on the data recognition result includes: In the intelligent chart drawing mode with a known chart type, the chart drawing is triggered after the user stops writing and waits for a preset time.
[0432] As an optional implementation, it also includes: In response to a user's editing command in the intelligent charting mode of a known chart type, a preset chart is displayed in the display area, wherein the display style of the preset chart is determined according to the known chart type.
[0433] As an optional implementation, it also includes: After the chart type is determined, a guide template corresponding to the chart type is displayed in the display area of the screen. The guide template is used to guide the user to write table content according to the writing specifications corresponding to the chart type.
[0434] As an optional implementation, displaying a guide template corresponding to the chart type in the display area of the screen includes: A table template is displayed in the first section of the guide template, and a chart template is displayed in the second section of the guide template. The table template contains preset content, and the chart template includes charts corresponding to the preset content.
[0435] As an optional implementation, the acquisition of data recognition results includes: If it is determined that the user has stopped writing and has not written after a preset time, the writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained.
[0436] As an optional implementation, the step of recognizing the writing trajectory information of the display area of the screen and obtaining the data recognition result includes: The system identifies trajectory points in the writing trajectory information of the display area of the screen whose pixel values are greater than a pixel threshold, and obtains the data identification results.
[0437] As an optional implementation, after the drawn chart is displayed in the display area, the method further includes: In response to the user's instruction to add content, add corresponding writing trajectory information, and update the chart based on the added writing trajectory information; or, In response to the user's stroke addition command, add the corresponding strokes for writing trajectory information, and update the chart based on the writing trajectory information after adding the strokes; or, In response to the user's erase command, the corresponding writing trajectory information is erased, and the chart is updated based on the erased writing trajectory information; or, Responding to the user's screen clearing command, all writing trace information is cleared.
[0438] As an optional implementation, after the drawn chart is displayed in the display area, the method further includes: In response to the user's modification command, the corresponding writing trajectory information is modified, and the chart is updated based on the modified writing trajectory information.
[0439] As an optional implementation, the response to the user's modification command further includes: The modified writing trajectory information is obtained and stored in the first storage area, wherein the first storage area is different from the storage area where the original writing trajectory information was stored.
[0440] As an optional implementation, the modification instructions include at least one of the following: instructions triggered by different stylus tips; instructions triggered by different stylus buttons; and instructions triggered by the display area switching button.
[0441] As an optional implementation, after responding to the user's modification instruction, the method further includes: Determine the first content before modification and the second content after modification corresponding to the modification instruction; The first content and the second content are displayed simultaneously, wherein the first content and the second content are displayed in different formats.
[0442] As an optional implementation, after obtaining the modified writing trajectory information and storing it in the first storage area, the method further includes: The modified writing trajectory information is obtained from the first storage area, and the first chart is drawn based on the writing trajectory information before modification and the modified writing trajectory information; The first chart includes a first table of data corresponding to the writing trajectory information before modification, and a second table of data corresponding to the writing trajectory information after modification.
[0443] As an optional implementation, after obtaining the modified writing trajectory information and storing it in the first storage area, the method further includes: The modified writing trajectory information is obtained from the first storage area, the second chart is drawn based on the writing trajectory information before modification, and the third chart is drawn based on the modified writing trajectory information. The second chart and the third chart are displayed simultaneously.
[0444] Example 3: Based on the same inventive concept, this disclosure also provides a graphical display device. Since this device is the same as the device in the method of this disclosure, and the principle of the device in solving the problem is similar to that of the method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0445] like Figure 26 As shown, the device includes: The recognition unit 2600 is used to recognize the writing trajectory information of the display area of the display screen and obtain the data recognition result; The determining unit 2601 is used to respond to the user's chart drawing instruction and determine the chart type corresponding to the chart drawing instruction; The drawing unit 2602 is used to respond to the user's chart drawing command, draw a chart of the chart type corresponding to the chart drawing command according to the data recognition result, and display the drawn chart in the display area.
[0446] As an optional implementation, before recognizing the writing trajectory information of the display area of the screen and obtaining the data recognition result, a table prompting unit is further included for: A writing prompt table is displayed in the display area, wherein the writing prompt table is used to prompt the user to write in each cell of the writing prompt table; Receive the writing trajectory information written by the user in the writing prompt table.
[0447] As an optional implementation, the table prompting unit is specifically used for: The reference position of the writing prompt table is determined based on the position of the writing trajectory information initially written by the user in the display area; Based on the reference position of the writing prompt table, a writing prompt table with a fixed number of rows and columns is displayed in the display area, wherein the writing trajectory information of the user's initial writing is located in the cell of the writing prompt table.
[0448] As an optional implementation, the table prompting unit is further used for: If the user continues writing beyond the range covered by the writing prompt table, then the number of rows and / or columns of the writing prompt table is increased according to the position of the user's continued writing trajectory; or, If the writing trajectory information of the user continues to write is located in the critical row of the writing prompt table, then the number of rows in the writing prompt table is increased; and / or, if the writing trajectory information of the user continues to write is located in the critical column of the writing prompt table, then the number of columns in the writing prompt table is increased.
[0449] As an optional implementation, the number of rows and columns of the writing prompt table is fixed or determined according to the parameters input by the user.
[0450] As an optional implementation, the identification unit 2600 is specifically used to determine the data identification result in any of the following ways: Method 1: Based on the positional relationship between each trajectory point in the writing trajectory information and the cells in the writing prompt table, determine the writing trajectory information contained in each cell; identify the writing trajectory information contained in each cell to obtain the data content of each cell; Method 2: Identify the writing trajectory information to obtain the content written by the user and the position of the content in the display area; determine the data content of each cell based on the position of the content and the position of the cell in the writing prompt table.
[0451] As an optional implementation, the data recognition result includes multiple cells, and the data recognition result also includes the position of each cell and the data content in each cell.
[0452] As an optional implementation, the identification unit 2600 is specifically used to determine the data identification result in the following manner: Each cell is determined, and the writing trajectory information is divided into each cell, wherein each cell corresponds to a cell in the table, and the writing trajectory information contained in each cell corresponds to the data content in each cell; The writing trajectory information in each cell is identified to obtain the data content of each cell; The data recognition result is determined based on the position of each cell and the data content in each cell.
[0453] As an optional implementation, the recognition unit 2600 is specifically used to divide the writing trajectory into individual cells in the following manner: The writing trajectory information is converted into strokes, and the centroid of the stroke is determined based on the average coordinate value of the trajectory points in the stroke. Based on the relationship between the center of gravity of the stroke and the position of each cell, the stroke is divided into each cell.
[0454] As an optional implementation, the recognition unit 2600 is specifically used to divide the writing trajectory into individual cells in the following manner: Obtain the writing order and coordinates of each trajectory point in the writing trajectory information; The similarity between the trajectory points is determined based on the writing order and coordinates of each trajectory point. The trajectory points whose similarity meets the preset threshold are divided into various cells.
[0455] As an optional implementation, the identification unit 2600 is specifically used to determine each cell in the following manner: Based on the trough positions in the first projection histogram of the first coordinate axis using the writing trajectory information, column separators are determined; based on the trough positions in the second projection histogram of the second coordinate axis using the writing trajectory information contained in any column, row separators are determined for any column; and each cell is determined based on the column separators and row separators; or, Based on the trough positions in the second projection histogram of the second coordinate axis according to the writing trajectory information, determine the row separator line; based on the trough positions in the first projection histogram of the first coordinate axis according to the writing trajectory information contained in any row, determine the column separator line of any row; determine each cell based on the row separator line and the column separator line; or, Based on the trough position in the first projection histogram of the first coordinate axis according to the writing trajectory information, the column separator is determined; based on the trough position in the second projection histogram of the second coordinate axis according to the writing trajectory information, the row separator is determined; and based on the row separator and column separator, each cell is determined.
[0456] As an optional implementation, the identification unit 2600 is specifically used to determine each cell in the following manner: Each cell is determined using a clustering algorithm.
[0457] As an optional implementation, the identification unit 2600 is specifically used to determine the column separator line in the following manner: Column separators are determined based on the locations of troughs in the first projection histogram where the trough width exceeds a threshold; and / or, Determine the line separator as follows: The row separator is determined based on the location of the valleys in the second projection histogram where the width of the valley is greater than the threshold.
[0458] As an optional implementation, the writing trajectory information is obtained by resampling the trajectory points in the writing trajectory information; the resampling is used to add the corresponding trajectory points in the strokes according to the length of each stroke in the writing trajectory information.
[0459] As an optional implementation, the first projection histogram is obtained by scaling down the projection histogram obtained by projecting the writing trajectory information onto the first coordinate axis; The second projection histogram is obtained by scaling down the projection histogram obtained by projecting the writing trajectory information onto the second coordinate axis.
[0460] As an optional implementation, before recognizing the writing trajectory information of the display area of the screen and obtaining the data recognition result, a display prompt unit is further included for: A title prompt is displayed in the display area, which is used to indicate to the user where to write the table title; First writing trajectory information is obtained in the first area corresponding to the title prompt, and second writing trajectory information is obtained in the second area corresponding to the title prompt.
[0461] As an optional implementation, the display prompt unit is further configured to determine the data recognition result in the following manner: The writing trajectory information in the first region is identified to obtain the titles of each coordinate axis; The writing trajectory information of the second region is divided into individual cells, and the writing trajectory information in each cell is identified to obtain the data content of each cell in the second region. The data recognition result is determined based on the title, the data content in each cell of the second area, and the positional relationship between the title and each cell.
[0462] As an optional implementation, the chart drawing instructions include chart selection instructions, and the drawing unit 2602 is specifically used to determine the chart type in the following manner: In response to a user's chart selection command in the intelligent chart mode, determine the chart type corresponding to the chart selection command.
[0463] As an optional implementation, the chart drawing instruction includes a first touch gesture, and the drawing unit 2602 is specifically used to determine the chart type in the following manner: In response to the user's first touch gesture in the intelligent chart mode, the system identifies the first graphic generated by the first touch gesture and determines the chart type based on the first graphic.
[0464] As an optional implementation, the chart drawing instructions include at least one of the following: arrow drawing instructions, circle drawing instructions, polygon drawing instructions, cylinder drawing instructions, and rectangle drawing instructions.
[0465] As an optional implementation, the chart drawing instructions include at least one of touch gestures and touch commands.
[0466] As an optional implementation, the drawing unit 2602 is specifically used for: If the chart drawing instructions include instructions for drawing arrows, then the chart type is determined to be a line chart; or, If the chart drawing instructions include instructions for drawing circles, then the chart type is determined to be a pie chart; or, If the chart drawing instructions include instructions for drawing rectangles, then the chart type is determined to be a histogram; or, If the chart drawing instructions include instructions for drawing a column, then the chart type is determined to be a bar chart; or, If the chart drawing instruction includes a polygon drawing instruction, then the chart type is determined to be a radar chart.
[0467] As an optional implementation, the drawing unit 2602 is further configured to: The data recognition result includes two columns of cells, and the arrow drawing instructions include a first arrow instruction and a second arrow instruction drawn sequentially. The first arrow instruction corresponds to the first column of cells in the two columns of cells, and the second arrow instruction corresponds to the second column of cells in the two columns of cells. If the first direction of the first arrow instruction is the X-axis direction, then the first column of cells is determined to be the X-axis data of the chart, and the second column of cells is determined to be the Y-axis data of the chart; If the first direction of the first arrow instruction is the Y-axis direction, then the first column of cells is determined to be the Y-axis data of the chart, and the second column of cells is determined to be the X-axis data of the chart; Wherein, the first arrow instruction is received earlier than the second arrow instruction, and the second direction of the second arrow instruction is different from the first direction.
[0468] As an optional implementation, a re-insertion function unit is also included for: In response to the user's intelligent drawing start command triggered on the first display interface of the writing software, a second display interface in intelligent drawing mode is displayed in the display area; After drawing and displaying the chart on the second display interface, in response to the user's insertion command, the chart on the second display interface is inserted into the first display interface of the writing software for display.
[0469] As an optional implementation, the smart drawing chart activation command includes a second touch gesture, and the insertion / return function unit is specifically used for: Receive a second graphic drawn by the user on the first display interface of the writing software, wherein the second graphic is a second graphic generated based on the second touch gesture; The second graphic triggers the display of a second display interface in the intelligent drawing chart mode in the display area.
[0470] As an optional implementation, after receiving the second graphic drawn by the user on the first display interface of the writing software, the system further includes a startup function unit for: A candidate menu is generated on the first display interface, and the candidate menu includes a first launch icon corresponding to the second graphic. In response to the user's touch operation on the first launch icon, a second display interface of the chart type corresponding to the second graphic is triggered to be displayed in the display area.
[0471] As an optional implementation, the startup function unit is used for: If the second graphic is cylindrical, then the first launch icon is a columnar icon, and in response to the user's touch operation on the columnar icon, the second display interface corresponding to the columnar graphic is triggered to be displayed. If the second graphic is a rectangle, then the first launch icon is a histogram icon. In response to the user's touch operation on the histogram icon, the second display interface corresponding to the histogram is triggered. If the second graphic is a circle, then the first launch icon is a pie icon, and in response to the user's touch operation on the pie icon, the second display interface corresponding to the pie chart is triggered to be displayed; If the second graphic is a polygon, then the first launch icon is a radar icon, and in response to the user's touch operation on the radar icon, the second display interface corresponding to the radar graphic is triggered to be displayed. If the second graphic is an arrow, then the first launch icon is a line icon, and in response to the user's touch operation on the line icon, the second display interface corresponding to the line graph is triggered.
[0472] As an optional implementation, the candidate menu further includes a second launch icon, which includes an analysis template icon; the launch function unit is further specifically used for: In response to the user's touch operation on the analysis template icon, the analysis template corresponding to the analysis template icon is inserted into the first display interface.
[0473] As an optional implementation, before responding to the user's chart drawing instruction, a first partitioning unit is further included for: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information.
[0474] As an optional implementation, a second partitioning unit is also included for: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display a chart corresponding to the writing trajectory information; In the writing area of the display area, a writing prompt table corresponding to the chart type is displayed; and / or, In the chart area of the display area, the preset chart corresponding to the chart type is displayed.
[0475] As an optional implementation, the chart area is also configured to receive chart drawing instructions from the user.
[0476] As an optional implementation, the first partitioning unit is specifically used for: In response to the user's editing command in the intelligent charting mode of a known chart type, the display area is divided into a writing area and a chart area, wherein the chart area is used to display the chart corresponding to the chart type.
[0477] As an optional implementation, the first partitioning unit is further configured to: In response to the user's drag command on the writing area, the content of the writing area is moved in the corresponding direction; or, In response to the user's drag command on the chart area, the content of the chart area is moved in the corresponding direction.
[0478] As an optional implementation, the first partitioning unit is further configured to: In response to the user's full-screen preview command, the chart area is displayed in full-screen mode; or, Responding to user annotations in the chart area, display the content corresponding to the annotation; or, In response to a user's erase operation in the chart area, clear the content corresponding to the erase operation in the chart area; or, Responding to the user's clear screen command in the chart area, clear the content of the chart area; or, Responding to the user's save operation in the chart area, save the contents of the chart area; or, Responding to the user's command to switch chart types, the current chart type is switched.
[0479] As an optional implementation, the writing area and the chart area do not overlap; or
[0480] The chart area floats above the writing area and does not obscure the content in the writing area.
[0481] As an optional implementation, the first partitioning unit is specifically used for: Based on predefined location information, determine the chart area within the display area of the screen; or, In response to a user’s first partitioning instruction in the display area, a chart area corresponding to the first partitioning instruction is determined in the display area.
[0482] As an optional implementation, after the chart to be drawn is displayed in the chart area, a re-partitioning unit is further included for: In response to the user's second partitioning command, the writing area is divided into a first writing area and a second writing area, and the chart area is divided into a first chart area and a second chart area; The first writing area is configured to display the writing trajectory information received before the division, the second writing area is configured to display the writing trajectory information received in the second writing area after the division, the first chart area is configured to display the chart corresponding to the writing trajectory information of the first writing area, and the second chart area is configured to display the chart corresponding to the writing trajectory information of the second writing area.
[0483] As an optional implementation, the recognition unit 2600 is specifically used to recognize the writing trajectory information in the following manner: The writing trajectory information is input into a text recognition model for recognition, and the data content corresponding to the writing trajectory information is output; wherein the text recognition model includes multiple BiLSTM network layers, and any BiLSTM network layer after the first two BiLSTM network layers has at least two outputs at its input connection; The at least two outputs include the outputs of any two BiLSTM network layers preceding any one of the BiLSTM network layers.
[0484] As an optional implementation, the text recognition model further includes a fully connected layer, the input connection of which has at least three outputs, the at least three outputs including the outputs of any three BiLSTM network layers preceding the fully connected layer.
[0485] As an optional implementation, the output of any BiLSTM network layer preceding the last BiLSTM network layer is used as the input to at least the next two BiLSTM network layers.
[0486] As an optional implementation, the text recognition model includes four BiLSTM network layers and a fully connected layer. The first BiLSTM network layer includes a first input and a first output, the second BiLSTM network layer includes a second input and a second output, the third BiLSTM network layer includes a third input and a third output, and the fourth BiLSTM network layer includes a fourth input and a fourth output. The first input is used to input the writing trajectory information, the second input is connected to the first output, the third input is connected to the first output and the second output, the fourth input is connected to the first output, the second output and the third output, the fourth output is connected to the input of the fully connected layer, and the output of the fully connected layer is used to output the data content corresponding to the writing trajectory information.
[0487] As an optional implementation, after responding to the user's chart selection instruction in the intelligent chart mode, the drawing unit 2602 is further configured to: The display area shows a writing prompt table and receives writing trajectory information written by the user in the writing prompt table; After the user stops writing and waits for a preset time, a chart of the chart type corresponding to the chart selection instruction is drawn and displayed.
[0488] As an optional implementation, before responding to the user's chart drawing instruction in the intelligent charting mode, the recognition unit 2600 is further configured to: Receive writing trajectory information written by the user, identify the writing trajectory information, and obtain data identification results; After responding to the user's chart drawing command in the intelligent chart drawing mode, the drawing unit 2602 is specifically used for: Based on the data recognition results, a chart of the chart type corresponding to the chart drawing instruction is drawn and displayed.
[0489] As an optional implementation, the identification unit 2600 is specifically used for: Divide the user-written content into columns to define multiple data groups; or, Divide the user's written content into lines to determine multiple data groups.
[0490] As an optional implementation, the data identification result includes multiple data groups; these multiple data groups are determined in the following manner: If a writing prompt table is displayed in the display area, the content written by the user in the writing prompt table will be divided into multiple data groups by column or by row; or, If the writing prompt table is not displayed in the display area, after determining each cell, the data content of each cell is divided by column or by row to obtain multiple data groups.
[0491] As an optional implementation, the identification unit 2600 is specifically used for: Based on the preset correspondence between rows and coordinate axes, the content written by the user in each column is determined as a data group; or, Based on the preset correspondence between each column and the coordinate axis, the content written by the user in each line is determined as a data group.
[0492] As an optional implementation, the identification unit 2600 is specifically used for: The content within the preset lines of the user-written text is designated as the titles of each coordinate axis, while other content is designated as data content; or, The content in the preset columns of the user-written text is determined as the title of each coordinate axis, and the other content is determined as the data content.
[0493] As an optional implementation, the drawing unit 2602 is specifically used for: The chart type is determined according to the chart drawing instructions; Based on the data groups corresponding to the content written by the user, draw a chart corresponding to the chart type.
[0494] As an optional implementation, if any data group includes the content of any column written by the user, then the drawing unit 2602 is specifically used to draw the chart in the following manner: If the chart type is determined to be a bar chart, then based on the data groups corresponding to the preset columns, determine the category headings on the preset axes; based on the first content corresponding to the preset index value in the data groups corresponding to the remaining columns (excluding the preset columns), determine the bar names; based on the content excluding the first content in the data groups corresponding to the remaining columns, determine the bar heights corresponding to each category heading and bar name; and draw the bar chart based on each category heading, bar name, and bar height; or, If the chart type is determined to be a radar chart, then the title of each vertex is determined based on the data group corresponding to the preset columns; the polar coordinate name is determined based on the second content corresponding to the preset index value in the data group corresponding to the remaining columns (excluding the preset columns); the polar coordinates corresponding to each title and polar coordinate name are determined based on the content excluding the second content in the data group corresponding to the remaining columns; and the radar chart is drawn based on each title, polar coordinate name, and polar coordinate; or, If the chart type is determined to be a line chart, then the axis title is determined based on the content corresponding to the preset index value in the data group; coordinate points are determined based on the content corresponding to the same index value (excluding the preset index value) in different data groups; and the line chart is drawn based on the axis title and the coordinate points; or, If the chart type is determined to be a pie chart, then the title of each section is determined based on the data group corresponding to the preset columns, the percentage of each section is determined based on the data group corresponding to the columns other than the preset columns, and the pie chart is drawn based on the title and percentage of each section.
[0495] As an optional implementation, the drawing unit 2602 is specifically used for: In the intelligent chart drawing mode with a known chart type, the chart drawing is triggered after the user stops writing and waits for a preset time.
[0496] As an optional implementation, the editing display unit is further included, specifically for: In response to a user's editing command in the intelligent charting mode of a known chart type, a preset chart is displayed in the display area, wherein the display style of the preset chart is determined according to the known chart type.
[0497] As an optional implementation, a guide template display unit is also included for: After the chart type is determined, a guide template corresponding to the chart type is displayed in the display area of the screen. The guide template is used to guide the user to write table content according to the writing specifications corresponding to the chart type.
[0498] As an optional implementation, the guide template display unit is specifically used for: A table template is displayed in the first section of the guide template, and a chart template is displayed in the second section of the guide template. The table template contains preset content, and the chart template includes charts corresponding to the preset content.
[0499] As an optional implementation, the identification unit 2600 is specifically used for: If it is determined that the user has stopped writing and has not written after a preset time, the writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained.
[0500] As an optional implementation, the identification unit 2600 is specifically used for: The system identifies trajectory points in the writing trajectory information of the display area of the screen whose pixel values are greater than a pixel threshold, and obtains the data identification results.
[0501] As an optional implementation, after the drawn chart is displayed in the display area, the system further includes an update function unit specifically used for: In response to the user's instruction to add content, add corresponding writing trajectory information, and update the chart based on the added writing trajectory information; or, In response to the user's stroke addition command, add the corresponding strokes for writing trajectory information, and update the chart based on the writing trajectory information after adding the strokes; or, In response to the user's erase command, the corresponding writing trajectory information is erased, and the chart is updated based on the erased writing trajectory information; or, Responding to the user's screen clearing command, all writing trace information is cleared.
[0502] As an optional implementation, after the drawn chart is displayed in the display area, a modification and update unit is further included for: In response to the user's modification command, the corresponding writing trajectory information is modified, and the chart is updated based on the modified writing trajectory information.
[0503] As an optional implementation, the modification and update unit is further used for: The modified writing trajectory information is obtained and stored in the first storage area, wherein the first storage area is different from the storage area where the original writing trajectory information was stored.
[0504] As an optional implementation, the modification instructions include at least one of the following: instructions triggered by different stylus tips; instructions triggered by different stylus buttons; and instructions triggered by the display area switching button.
[0505] As an optional implementation, after responding to the user's modification command, a comparison display unit is further included, specifically for: Determine the first content before modification and the second content after modification corresponding to the modification instruction; The first content and the second content are displayed simultaneously, wherein the first content and the second content are displayed in different formats.
[0506] As an optional implementation, after acquiring the modified writing trajectory information and storing it in the first storage area, the system further includes a redrawing unit for: The modified writing trajectory information is obtained from the first storage area, and the first chart is drawn based on the writing trajectory information before modification and the modified writing trajectory information; The first chart includes a first table of data corresponding to the writing trajectory information before modification, and a second table of data corresponding to the writing trajectory information after modification.
[0507] As an optional implementation, after acquiring the modified writing trajectory information and storing it in the first storage area, the system further includes a chart comparison display unit for: The modified writing trajectory information is obtained from the first storage area, the second chart is drawn based on the writing trajectory information before modification, and the third chart is drawn based on the modified writing trajectory information. The second chart and the third chart are displayed simultaneously.
[0508] Example 4: Based on the same inventive concept, this disclosure also provides an electronic device. Since this electronic device is the same as the electronic device in the method of this disclosure, and the principle of solving the problem by this electronic device is similar to that of the method, the implementation of this electronic device can refer to the implementation of the method, and the repeated parts will not be described again.
[0509] like Figure 27 As shown, the electronic device includes a processor 2700 and a memory 2701. The memory 2701 stores programs executable by the processor 2700. The processor 2700 reads the programs from the memory 2701 and performs the following steps: The writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained; Responding to the user's chart drawing command, determine the chart type corresponding to the chart drawing command; Based on the data recognition results, a chart of the chart type corresponding to the chart drawing instruction is drawn, and the drawn chart is displayed in the display area.
[0510] For other implementation methods, please refer to the description of Embodiment 1 above, and they will not be repeated here.
[0511] Based on the same inventive concept, this disclosure also provides a computer storage medium storing a computer program that, when executed by a processor, performs the following steps: The writing trajectory information of the display area of the display screen is identified, and the data identification result is obtained; Responding to the user's chart drawing command, determine the chart type corresponding to the chart drawing command; In response to the user's chart drawing command, a chart of the chart type corresponding to the chart drawing command is drawn based on the data recognition result, and the drawn chart is displayed in the display area.
[0512] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0513] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 Devices that specify the functions in one or more boxes.
[0514] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including an instruction device, which is implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0515] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0516] Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, this disclosure is also intended to include such modifications and variations.
Claims
1. A display device, wherein, include: The display screen and control circuitry include: The display screen is used to display content; The control circuit includes a processor and a memory. The memory stores programs executable by the processor, and the processor reads the programs from the memory and performs the following steps: In response to the user's intelligent drawing start command triggered on the first display interface of the writing software, a second display interface in intelligent drawing mode is displayed in the display area; The second display interface is used to draw and display a chart, wherein the writing trajectory information of the display area of the display screen is identified and the data recognition result is obtained; the user's chart drawing instruction is responded to and the chart type corresponding to the chart drawing instruction is determined; and a chart of the chart type corresponding to the chart drawing instruction is drawn according to the data recognition result.
2. The display device according to claim 1, wherein, The intelligent drawing chart activation command includes a second touch gesture, and the processor is specifically configured to execute: Receive a second graphic drawn by the user on the first display interface of the writing software, wherein the second graphic is a second graphic generated based on the second touch gesture; The second graphic triggers the display of a second display interface in the intelligent drawing chart mode in the display area.
3. The display device according to claim 2, wherein, After receiving the second graphic drawn by the user on the first display interface of the writing software, the processor is further configured to execute: A candidate menu is generated on the first display interface, and the candidate menu includes a first launch icon corresponding to the graphic; In response to the user's touch operation on the first launch icon, a second display interface of the chart type corresponding to the graphic is triggered to be displayed in the display area.
4. The display device according to claim 3, wherein, The processor is specifically configured to execute: If the second graphic is cylindrical, then the first launch icon is a columnar icon, and in response to the user's touch operation on the columnar icon, the second display interface corresponding to the columnar graphic is triggered to be displayed. If the second graphic is a rectangle, then the first launch icon is a histogram icon. In response to the user's touch operation on the histogram icon, the second display interface corresponding to the histogram is triggered. If the second graphic is a circle, then the first launch icon is a pie icon, and in response to the user's touch operation on the pie icon, the second display interface corresponding to the pie chart is triggered to be displayed; If the second graphic is a polygon, then the first launch icon is a radar icon, and in response to the user's touch operation on the radar icon, the second display interface corresponding to the radar graphic is triggered to be displayed. If the second graphic is an arrow, then the first launch icon is a line icon, and in response to the user's touch operation on the line icon, the second display interface corresponding to the line graph is triggered.
5. The display device according to claim 3, wherein, The candidate menu also includes a second launch icon, which includes an analysis template icon; the processor is further configured to execute: In response to the user's touch operation on the analysis template icon, the analysis template corresponding to the analysis template icon is inserted into the first display interface.
6. The display device according to claim 1, wherein, The processor is further configured to execute: After drawing and displaying the chart on the second display interface, in response to the user's insertion command, the chart on the second display interface is inserted into the first display interface of the writing software for display.
7. The display device according to claim 1, wherein, The data recognition result includes multiple cells, and also includes the position of each cell and the data content in each cell.
8. The display device according to any one of claims 1 to 7, wherein, Before recognizing the writing trajectory information of the display area of the screen and obtaining the data recognition result, the processor is specifically configured to execute: A title prompt is displayed in the display area, which is used to indicate to the user where to write the table title; First writing trajectory information is obtained in the first area corresponding to the title prompt, and second writing trajectory information is obtained in the second area corresponding to the title prompt.
9. The display device according to any one of claims 1 to 7, wherein, The chart drawing instructions include at least one of touch gestures and touch commands.
10. The display device according to any one of claims 1 to 7, wherein, The chart drawing instructions include chart selection instructions, and the processor is specifically configured to determine the chart type in the following manner: In response to a user's chart selection command in the intelligent chart mode, determine the chart type corresponding to the chart selection command.
11. The display device according to any one of claims 1 to 7, wherein, The chart drawing instructions include a first touch gesture, and the processor is specifically configured to determine the chart type in the following manner: In response to the user's first touch gesture in the intelligent chart mode, the system identifies the first graphic generated by the first touch gesture and determines the chart type based on the first graphic.
12. The display device according to any one of claims 1 to 7, wherein, Before responding to the user's chart drawing command, the processor is specifically configured to execute: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information.
13. The display device according to claim 1, wherein, The processor is further configured to execute: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display a chart corresponding to the writing trajectory information; In the writing area of the display area, a writing prompt table corresponding to the chart type is displayed.
14. The display device according to claim 12, wherein, The writing area and the chart area do not overlap; or The chart area floats above the writing area and does not obscure the content in the writing area.
15. A method for displaying charts, wherein, The method includes: In response to the user's intelligent drawing start command triggered on the first display interface of the writing software, a second display interface in intelligent drawing mode is displayed in the display area; The second display interface is used to draw and display a chart, wherein the writing trajectory information of the display area of the display screen is identified and the data recognition result is obtained; the user's chart drawing instruction is responded to and the chart type corresponding to the chart drawing instruction is determined; and a chart of the chart type corresponding to the chart drawing instruction is drawn according to the data recognition result.
16. The method according to claim 15, wherein, The intelligent drawing chart launch command includes a second touch gesture; in response to the intelligent drawing chart launch command triggered by the user on the first display interface of the writing software, a second display interface in intelligent drawing chart mode is displayed in the display area, including: Receive a second graphic drawn by the user on the first display interface of the writing software, wherein the second graphic is a second graphic generated based on the second touch gesture; The second graphic triggers the display of a second display interface in the intelligent drawing chart mode in the display area.
17. The method according to claim 16, wherein, After receiving the second graphic drawn by the user on the first display interface of the writing software, the method further includes: A candidate menu is generated on the first display interface, and the candidate menu includes a first launch icon corresponding to the graphic; In response to the user's touch operation on the first launch icon, a second display interface of the chart type corresponding to the graphic is triggered to be displayed in the display area.
18. The method according to claim 17, wherein, In response to a user's touch operation on the first launch icon, a second display interface of a chart type corresponding to the graphic is triggered in the display area, including: If the second graphic is cylindrical, then the first launch icon is a columnar icon, and in response to the user's touch operation on the columnar icon, the second display interface corresponding to the columnar graphic is triggered to be displayed. If the second graphic is a rectangle, then the first launch icon is a histogram icon. In response to the user's touch operation on the histogram icon, the second display interface corresponding to the histogram is triggered. If the second graphic is a circle, then the first launch icon is a pie icon, and in response to the user's touch operation on the pie icon, the second display interface corresponding to the pie chart is triggered to be displayed; If the second graphic is a polygon, then the first launch icon is a radar icon, and in response to the user's touch operation on the radar icon, the second display interface corresponding to the radar graphic is triggered to be displayed. If the second graphic is an arrow, then the first launch icon is a line icon, and in response to the user's touch operation on the line icon, the second display interface corresponding to the line graph is triggered.
19. The method of claim 17, wherein, The candidate menu further includes a second launch icon, which includes an analysis template icon; the method further includes: In response to the user's touch operation on the analysis template icon, the analysis template corresponding to the analysis template icon is inserted into the first display interface.
20. The method of claim 15, wherein, The method also includes: After drawing and displaying the chart on the second display interface, in response to the user's insertion command, the chart on the second display interface is inserted into the first display interface of the writing software for display.
21. The method according to claim 15, wherein, The data recognition result includes multiple cells, and also includes the position of each cell and the data content in each cell.
22. The method according to any one of claims 15-21, wherein, Before identifying the writing trajectory information of the display area of the display screen and obtaining the data recognition result, the method further includes: A title prompt is displayed in the display area, which is used to indicate to the user where to write the table title; First writing trajectory information is obtained in the first area corresponding to the title prompt, and second writing trajectory information is obtained in the second area corresponding to the title prompt.
23. The method according to any one of claims 15-21, wherein, The chart drawing instructions include at least one of touch gestures and touch commands.
24. The method according to any one of claims 15 to 21, wherein, The chart drawing instructions include chart selection instructions, which determine the chart type in the following way: In response to a user's chart selection command in the intelligent chart mode, determine the chart type corresponding to the chart selection command.
25. The method according to any one of claims 15 to 21, wherein, The chart drawing instructions include a first touch gesture, and the chart type is determined in the following way: In response to the user's first touch gesture in the intelligent chart mode, the system identifies the first graphic generated by the first touch gesture and determines the chart type based on the first graphic.
26. The method according to any one of claims 15 to 21, wherein, Before responding to the user's chart drawing command, the method further includes: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display the chart corresponding to the writing trajectory information.
27. The method according to claim 15, wherein, The method also includes: The display area of the screen is defined as a writing area and a chart area, wherein the writing area is configured to receive the user's writing trajectory information, and the chart area is configured to display a chart corresponding to the writing trajectory information; In the writing area of the display area, a writing prompt table corresponding to the chart type is displayed.
28. The method according to claim 26, wherein, The writing area and the chart area do not overlap; or The chart area floats above the writing area and does not obscure the content in the writing area.
29. An electronic device, wherein, The electronic device includes a processor and a memory, the memory being used to store a program executable by the processor, and the processor being used to read the program in the memory and execute the steps of the method according to any one of claims 15 to 28.
30. A computer storage medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the steps of the method as described in any one of claims 15 to 28.