I have written a code that looks like this:

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt T = np.array([10.03,100.348,1023.385]) power1 = np.array([100000,86000,73000]) power2 = np.array([1008000,95000,1009000]) df1 = pd.DataFrame(data = {'Size': T, 'Encrypt_Time': power1, 'Decrypt_Time': power2}) exp1= sns.lineplot(data=df1) plt.savefig('exp1.png') exp1_smooth= sns.lmplot(x='Size', y='Time', data=df, ci=None, order=4, truncate=False) plt.savefig('exp1_smooth.png')

That gives me that image:

The `Size`

= x- axis is a constant line but as you can see in my code it varies from (10,100,1000)

How does this produces a constant line? Is there any issue with my code? I want to produce a multiline graph with x-axis = Size(T),y- axis= Encrypt_Time and Decrypt_Time(power1 & power2)

Also I wanted to plot a smooth graph of the same graph I am getting right now but it gives me error. Can anyone help me with this code and tell me what exactly needs to be done in order to achieve a smooth multi-line graph with x-axis = Size(T), y- axis= Encrypt_Time and Decrypt_Time(power1 & power2)

## Answer

I think it not the issue, the line represents for `size`

looks like constant but it NOT.

Can see that values of size in range `10-1000`

while the minimum division of y-axis is 20,000 (20 times bigger), make it look like a horizontal line on your graph.
You can try with a bigger values to see the slope clearly.

If you want ‘size` as x-axis, you can try below example:

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt T = np.array([10.03,100.348,1023.385]) power1 = np.array([100000,86000,73000]) power2 = np.array([1008000,95000,1009000]) df1 = pd.DataFrame(data = {'Size': T, 'Encrypt_Time': power1, 'Decrypt_Time': power2}) fig = plt.figure() fig = sns.lineplot(data=df1, x='Size',y='Encrypt_Time' ) fig = sns.lineplot(data=df1, x='Size',y='Decrypt_Time' )