Question: I am a cave man in terms of web ui - I like it all without npm/nodejs and other nice infrastructure. I want it all in text files like in old days: include/link stuff from/to a HTML page and it's done. Is such cave approach possible for semantic-ui+ReactJS combination, meaning to have no npm/nodes/other server code for my front end to work?

Answer: 
A way to do this is to use dataframes with pandas.

```
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df = pd.read_csv("D:\Programmes Python\Data\Data_csv.txt",sep=";")  #Reads the csv
df.index = pd.to_datetime(df["DateTime"]) #Set the index of the dataframe to the DateTime column
del df["DateTime"] #The DateTime column is now useless

fig, ax = plt.subplots()
ax.plot(df.index,df["Issue_Type"])
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m'))  #This will only show the month number on the graph

```

This assumes that Issue1/2/3 are integers, I assumed they were as I didn't really understand what they were supposed to be.

**Edit:** This should do the trick then, it's not pretty and can probably be optimised, but it works well:

```
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df = pd.read_csv("D:\Programmes Python\Data\Data_csv.txt",sep=";")
df.index = pd.to_datetime(df["DateTime"])
del df["DateTime"]
list=[]
for Issue in df["Issue_Type"]:
    list.append(int(Issue[5:]))
df["Issue_number"]=list

fig, ax = plt.subplots()
ax.plot(df.index,df["Issue_number"])
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m'))
plt.show()

```
The first thing you need to do is to parse the datetime fields as dates/times. Try using [`dateutil.parser`](http://dateutil.readthedocs.io/en/stable/parser.html) for that.

Next, you will need to count the number of issues of each type in each month. The naive way to do that would be to maintain lists of lists for each issue type, and just iterate through each column, see which month and which issue type it is, and then increment the appropriate counter.

When you have such a frequency count of issues, sorted by issue types, you can simply plot them against dates like this:

```
import matplotlib.pyplot as plt
import datetime as dt

dates = []
for year in range(starting_year, ending_year):
    for month in range(1, 12):
        dates.append(dt.datetime(year=year, month=month, day=1))

formatted_dates = dates.DateFormatter('%b') # Format dates to only show month names
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(issues[0], dates) # To plot just issues of type 1
ax.plot(issues[1], dates) # To plot just issues of type 2
ax.plot(issues[2], dates) # To plot just issues of type 3
ax.xaxis.set_major_formatter(formatted_dates) # Format X tick labels
plt.show()
plt.close()

```