假设我有下面的代码,使用pandas绘制一些非常简单的东西:
import pandas as pd
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
df2.plot(lw=2, colormap='jet', marker='.', markersize=10,
title='Video streaming dropout by category')
我如何轻松地设置x和y标签,同时保留我使用特定的颜色映射的能力?我注意到pandas DataFrames的plot()包装器没有为此接受任何特定的参数。
Pandas使用matplotlib进行基本数据框架图。因此,如果您正在使用pandas进行基本情节,则可以使用matplotlib进行情节定制。但是,我在这里提出了一种使用seaborn的替代方法,它允许对plot进行更多的自定义,同时不进入matplotlib的基本级别。
工作代码:
import pandas as pd
import seaborn as sns
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
ax= sns.lineplot(data=df2, markers= True)
ax.set(xlabel='xlabel', ylabel='ylabel', title='Video streaming dropout by category')
Pandas使用matplotlib进行基本数据框架图。因此,如果您正在使用pandas进行基本情节,则可以使用matplotlib进行情节定制。但是,我在这里提出了一种使用seaborn的替代方法,它允许对plot进行更多的自定义,同时不进入matplotlib的基本级别。
工作代码:
import pandas as pd
import seaborn as sns
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
ax= sns.lineplot(data=df2, markers= True)
ax.set(xlabel='xlabel', ylabel='ylabel', title='Video streaming dropout by category')
你可以这样做:
import matplotlib.pyplot as plt
import pandas as pd
plt.figure()
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
df2.plot(lw=2, colormap='jet', marker='.', markersize=10,
title='Video streaming dropout by category')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.show()
显然,你必须替换字符串'xlabel'和'ylabel'用你想要的。
函数的作用是:返回matplotlib.axes.AxesSubplot对象。您可以在该对象上设置标签。
ax = df2.plot(lw=2, colormap='jet', marker='.', markersize=10, title='Video streaming dropout by category')
ax.set_xlabel("x label")
ax.set_ylabel("y label")
或者更简洁地说:ax。设置(xlabel="x label", ylabel="y label")。
或者,索引x轴标签将自动设置为索引名称(如果有的话)。所以df2.index.name = 'x label'也可以工作。