Graphing three database in one graph Python - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Graphing three database in one graph Python (/thread-19265.html) |
Graphing three database in one graph Python - r_e - Jun-20-2019 Hi, I have three different data from a source. Each one of them has 2 columns. Some of those 3 sources' first columns named the same but each one of them has different data corresponding to it in the second column. I need to use python to plot those 3 data at one graph. X-axis should be the combination of the first column of three data from the sources. - The data is in format of: aa001 - (up to sometimes aa400); ab001 - (up to sometimes ab400). So, the X-axis should start with a aa001 and end with ab400. Since it would just overfill the x-axis and would make it impossible to look at it in a normal size, I want to just show aa020, aa040 ..... (using the number in the string, only show it after aa0(+20) or ab0(+20)) Y-axis should be just numbers from 0-10000 (may want to change if at least one of the data has max more than 10000. I will add the sample graph I created using excel. My sample data would be (Note: Data is not sorted by any column and I would prefer to sort it as stated above: aa001 ...... ab400): Data1 Name Number aa001 123 aa032 4211 ab400 1241 ab331 33 Data2 Name Number aa002 1213 aa032 41 ab378 4231 ab331 63 aa163 999 Data3 Name Number aa209 9876 ab132 5432 ab378 4124 aa031 754 aa378 44 ab344 1346 aa222 73 aa163 414 ab331 61 I searched up Matplotlib, found a sample example where it plots as I want (with dots for each x-y point) but does not apply to my question. This is the similar code I found: x = range(100) y = range(100,200) fig = plt.figure() ax1 = fig.add_subplot(111) ax1.scatter(x[:4], y[:4], s=10, c='b', marker="s", label='first') ax1.scatter(x[40:],y[40:], s=10, c='r', marker="o", label='second') plt.legend(loc='upper left'); plt.show()Sample graph (instead of aa for X-axis-> bc; ab -> mc) I expect to see a graph as follows, but skipping every 20 in the X-axis. (I want the first graph dotted (symbolled) as the second graph but second graph to use X-axis as the first graph, but with skipping 20 in the name <-> I want to use X-axis like this but without each data (only by 20 difference) <-> I want to use symbols instead of lines like in this one Please, let me know if I need to provide any other information or clarify/correct myself. Any help is appreciated! RE: Graphing three database in one graph Python - r_e - Jun-20-2019 How can I plot the graph Getting the data from those 3 sources Using only first letter and last digits of the first column to put it in the X-axis as in the Excel graph above How can I only show first column data by 20 digits difference ? aa010 aa030 aa050 ... etc |