Spreadsheet data to animated graphs?
Copy link to clipboard
Copied
Does someone have a recommendation for an AE plugin that generates multi-line Line Chart animations and Bar Chart animations – and is able to utilize spreadsheet-type of data?
Copy link to clipboard
Copied
You can use JSON:
Data-Driven Animation with JSON in After Effects - Part 1: Linking Texts - YouTube
*Martin
Copy link to clipboard
Copied
Looks complicated.
How do you import spreadsheet data there?
Copy link to clipboard
Copied
The only spreadsheet-to-AE solutions I know are:
CompsFromSpreadsheet 5 - aescripts + aeplugins - aescripts.com
and
Templater Rig - aescripts + aeplugins - aescripts.com
But both do target on mass production of videos (so called "Personal Videos") and I'm not sure, if they can do what you want.
However, the JSON-way is the built-in solution of what you want to achieve. Maybe you find an easy way to convert your spreadsheet into a JSON file.
In general it should be doable to transform CSV data into keyframes with a script. Let us know, if you find something!
*Martin
Copy link to clipboard
Copied
This is now native, and doesn't require any 3rd-party plugins. (Though, those can make your life easier, depending on your exact use case.)
Save your spreadsheet as a CSV & import it into AE.
Bring it into a comp, and you'll be able to twirl it open, giving you access to the data (by column, then row).
Use the property pickwhips to link properties, text layers, etc. directly to the cells.
Now if you update and save the csv, that'll be reflected when you go back to AE.
If you're expression-savvy, there are ways to offset which column/row the properties would be looking at, based on something like a number in your comp name.
Let me know if you need more clarification!
Copy link to clipboard
Copied
Thanks for this simple and clear description Kyle- I'ts been difficult to locate info on these new features.
Now if you update and save the csv, that'll be reflected when you go back to AE.
If you're expression-savvy, there are ways to offset which column/row the properties would be looking at, based on something like a number in your comp name.
Let me know if you need more clarification!
I'm very curious about what you describe above. I'm in the exact situation where I'm looking into the use of this workflow.
Below is a sample CSV I'm using to call up information for IDs at a conference with over 120 individuals who will be speaking.
SECTION INFO | TEXT |
D1,001 Opening remarks | "Excel is now driving the bus" |
D1,001 Opening remarks | NAME |
D1,001 Opening remarks | Title Line 1 |
D1,001 Opening remarks | Title Line 2 |
Here is how that looks on screen (I'm just working out the nuts and bolts, to pardon the clunky visual design...)
And here is how that is looking in my timeline
What I would LOVE, is if I could point the first line in the section (the quote) to its Column/Row, and all the other lines could derive their relative Column/Row data from there. IE, the "NAME" text will always be +1 row from the selected "Quote" text, likewise with Title 1 , 2.
Also, I'd like to use the Column/Row number for the quote TXT, but -1 column, to reveal the Section Info data to source text, which is setup as a guide layer that is simply for the user to have at hand for tracking the sections.
I know precisely enough to be dangerous when it comes to expressions (I'm learning more all the time, but slowly with no comp sci degree to help out).
I don't know the syntax required to perform the basic math involved to add or subtract column/row numbers, when pointing to them via the source text to the imported CSV file.
Your help is much appreciated! I'd love to see this info more easily accessible to the broader AE community.
Best,
David
Copy link to clipboard
Copied
Hey David,
I don't have time to fully explain right now, but the function "index" will be your friend here. Pretty much anything that is part of a list (including layers, effect properties, this data) has an index to indicate which number it is in that sequence of things.
In the case of layers, you can pickwhip to a thing, and can replace the actual name of that layer with "index -1" to get the one above, or "index + 1" to get the one below itself. There's a bit more involved in referencing the info in a .csv, but this is the same basic idea.
Hopefully that'll get you moving in the right direction / give you something specific to Google for. I get notified of replies, so feel free to comment back if you're still stuck. Good luck! I'll potentially have some time Sunday/Monday if you're in need of more specific help.
Copy link to clipboard
Copied
Thank you very much for your time Kyle Hamrick!
I'm aware of the index function, and will try it in this instance- but I'm not sure that will workout for what I'm trying to achieve.
What I'm looking for is a way to offset not the value of the specified CSV data, but the row/column selection within one layer, applied to another.
As I said, I don't have a comp. sci. degree, and barely understand the language of JS!
Here is a test expression that is not working:
ROW=footage("TXT2SPREADSHEET TEST 1.csv").dataValue([0,10]);
COLUMN=footage("TXT2SPREADSHEET TEST 1.csv").dataValue([0,10]);
ROW_OFFSET=ROW+([1,0]);
COLUMN_OFFSET=COLUMN+([0,1]);
[ROW_OFFSET,COLUMN_OFFSET]
It produces this text
(I realize I have not sorted out the array, but the results seem to indicate that that line of reasoning won't work anyhow)
:
"D1,001 Opening remarks 1,0,D1,001 Opening remarks,0,1"
I'll start a new thread specific to text values in csv cells being used as source text, as I kind of crashed this party as it seemed relevant. Such a cool new feature within AE.
Cheers!
David

