使用 seaborn 的简单线图
Simple line plots using seaborn
我正在尝试使用 seaborn (python) 绘制 ROC 曲线。
对于 matplotlib,我只需使用函数 plot
:
plt.plot(one_minus_specificity, sensitivity, 'bs--')
其中 one_minus_specificity
和 sensitivity
是两个成对值列表。
seaborn 中是否有简单的 plot 函数?我查看了画廊,但没有找到任何直接的方法。
由于 seaborn 也使用 matplotlib 进行绘图,因此您可以轻松地将两者结合起来。如果你只想采用 seaborn 的样式,set_style
函数应该让你开始:
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style("darkgrid")
plt.plot(np.cumsum(np.random.randn(1000,1)))
plt.show()
结果:
是的,您可以直接在 Seaborn 中执行相同的操作。这是通过 tsplot() 完成的,它允许单个数组作为输入,或者两个数组,其中另一个是 'time' 即 x 轴。
import seaborn as sns
data = [1,5,3,2,6] * 20
time = range(100)
sns.tsplot(data, time)
可以使用 seaborn.lineplot()
完成此操作,但它涉及将 numpy 数组转换为 pandas 数据帧的一些额外工作。这是一个完整的例子:
# imports
import seaborn as sns
import numpy as np
import pandas as pd
# inputs
In [41]: num = np.array([1, 2, 3, 4, 5])
In [42]: sqr = np.array([1, 4, 9, 16, 25])
# convert to pandas dataframe
In [43]: d = {'num': num, 'sqr': sqr}
In [44]: pdnumsqr = pd.DataFrame(d)
# plot using lineplot
In [45]: sns.set(style='darkgrid')
In [46]: sns.lineplot(x='num', y='sqr', data=pdnumsqr)
Out[46]: <matplotlib.axes._subplots.AxesSubplot at 0x7f583c05d0b8>
我们得到以下情节:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
plt.plot(one_minus_specificity, sensitivity) # x,y
我正在尝试使用 seaborn (python) 绘制 ROC 曲线。
对于 matplotlib,我只需使用函数 plot
:
plt.plot(one_minus_specificity, sensitivity, 'bs--')
其中 one_minus_specificity
和 sensitivity
是两个成对值列表。
seaborn 中是否有简单的 plot 函数?我查看了画廊,但没有找到任何直接的方法。
由于 seaborn 也使用 matplotlib 进行绘图,因此您可以轻松地将两者结合起来。如果你只想采用 seaborn 的样式,set_style
函数应该让你开始:
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style("darkgrid")
plt.plot(np.cumsum(np.random.randn(1000,1)))
plt.show()
结果:
是的,您可以直接在 Seaborn 中执行相同的操作。这是通过 tsplot() 完成的,它允许单个数组作为输入,或者两个数组,其中另一个是 'time' 即 x 轴。
import seaborn as sns
data = [1,5,3,2,6] * 20
time = range(100)
sns.tsplot(data, time)
可以使用 seaborn.lineplot()
完成此操作,但它涉及将 numpy 数组转换为 pandas 数据帧的一些额外工作。这是一个完整的例子:
# imports
import seaborn as sns
import numpy as np
import pandas as pd
# inputs
In [41]: num = np.array([1, 2, 3, 4, 5])
In [42]: sqr = np.array([1, 4, 9, 16, 25])
# convert to pandas dataframe
In [43]: d = {'num': num, 'sqr': sqr}
In [44]: pdnumsqr = pd.DataFrame(d)
# plot using lineplot
In [45]: sns.set(style='darkgrid')
In [46]: sns.lineplot(x='num', y='sqr', data=pdnumsqr)
Out[46]: <matplotlib.axes._subplots.AxesSubplot at 0x7f583c05d0b8>
我们得到以下情节:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
plt.plot(one_minus_specificity, sensitivity) # x,y