将x和y标签添加到pandas图中
假设我有下面的代码使用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()包装器没有采用任何特定的参数。
df.plot()
函数返回一个matplotlib.axes.AxesSubplot
对象。 您可以在该对象上设置标签。
In [4]: ax = df2.plot(lw=2,colormap='jet',marker='.',markersize=10,title='Video streaming dropout by category') In [6]: ax.set_xlabel("x label") Out[6]: <matplotlib.text.Text at 0x10e0af2d0> In [7]: ax.set_ylabel("y label") Out[7]: <matplotlib.text.Text at 0x10e0ba1d0>
或者,更简洁地说: ax.set(xlabel="x label", ylabel="y label")
。
或者,索引x轴标签自动设置为索引名称(如果有)。 所以df2.index.name = 'x label'
也可以。
如果您标记DataFrame的列和索引,pandas会自动提供适当的标签:
import pandas as pd values = [[1,2], [2,5]] df = pd.DataFrame(values, columns=['Type A', 'Type B'], index=['Index 1','Index 2']) df.columns.name = 'Type' df.index.name = 'Index' df.plot(lw=2, colormap='jet', marker='.', markersize=10, title='Video streaming dropout by category')
在这种情况下,您仍然需要手动提供y标签(例如,通过plt.ylabel
,如其他答案中所示)。
你可以这样做:
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()
显然,你必须用你想要的stringreplacestring“xlabel”和“ylabel”。
可以使用axis.set
函数将两个标签一起设置。 寻找例子:
import pandas as pd import matplotlib.pyplot as plt values = [[1,2], [2,5]] df2 = pd.DataFrame(values, columns=['Type A', 'Type B'], index=['Index 1','Index 2']) ax = df2.plot(lw=2,colormap='jet',marker='.',markersize=10,title='Video streaming dropout by category') # set labels for both axes ax.set(xlabel='x axis', ylabel='y axis') plt.show()
对于使用pandas.DataFrame.hist
:
plt = df.Column_A.hist(bins=10)
请注意,你会得到一堆地块,而不是一个阴谋。 因此,设置x标签,你需要做这样的事情
plt[0][0].set_xlabel("column A")
- 如何设置Matplotlibgraphics背景颜色的不透明度
- 在double_scalars中遇到无效值警告,可能是numpy
- Python的networking托pipe:Numpy,Matplotlib,科学计算
- 用两个滑块交互式绘制matplotlib图
- 在matplotlib散点图中为每个系列设置不同的颜色
- 在Matplotlib中,参数在fig.add_subplot(111)中意味着什么?
- 在Jupyter / iPython中dynamic更新图表的最新方法是什么?
- matplotlib:设置线上单个点的标记
- 从eclipse运行时,closuresmatplotlib中已有的graphics