我尝试了以下代码(test_seaborn.py):importmatplotlibmatplotlib.use('Agg')importmatplotlib.pyplotaspltmatplotlib.style.use('ggplot')importseabornassnssns.set()df=sns.load_dataset('iris')sns_plot=sns.pairplot(df,hue='species',size=2.5)fig=sns_plot.get_figure()fig.savefig("output.png")#sns.plt.show()但我收到此错误:
如何更改图像的大小以使其适合打印?例如,我想使用A4纸,横向尺寸为11.7英寸x8.27英寸。 最佳答案 您还可以通过在seabornset方法中使用键'figure.figsize'将字典传递给rc参数来设置图形大小:importseabornassnssns.set(rc={'figure.figsize':(11.7,8.27)})其他替代方法可能是使用rcParams的figure.figsize来设置图形大小,如下所示:frommatplotlibimportrcParams#figuresizeininchesrcPar
我确定我忘记了一些非常简单的事情,但我无法让某些情节与Seaborn一起工作。如果我这样做:importseabornassns然后,我像往常一样使用matplotlib创建的任何绘图都会获得Seaborn样式(背景为灰色网格)。但是,如果我尝试做其中一个示例,例如:In[1]:importseabornassnsIn[2]:sns.set()In[3]:df=sns.load_dataset('iris')In[4]:sns.pairplot(df,hue='species',size=2.5)Out[4]:pairplot函数返回一个PairGrid对象,但绘图不显示。我有点困惑,
我确定我忘记了一些非常简单的事情,但我无法让某些情节与Seaborn一起工作。如果我这样做:importseabornassns然后,我像往常一样使用matplotlib创建的任何绘图都会获得Seaborn样式(背景为灰色网格)。但是,如果我尝试做其中一个示例,例如:In[1]:importseabornassnsIn[2]:sns.set()In[3]:df=sns.load_dataset('iris')In[4]:sns.pairplot(df,hue='species',size=2.5)Out[4]:pairplot函数返回一个PairGrid对象,但绘图不显示。我有点困惑,
给定时间表示的信号图,我如何绘制标记相应时间索引的线?具体来说,给定一个时间索引范围为0到2.6(秒)的信号图,我想绘制垂直红线,指示列表[0.22058956,0.33088437,2.20589566]的相应时间索引。我该怎么做? 最佳答案 添加覆盖整个绘图窗口的垂直线的标准方法是plt.axvlineimportmatplotlib.pyplotaspltplt.axvline(x=0.22058956)plt.axvline(x=0.33088437)plt.axvline(x=2.20589566)或xcoords=[0.
给定时间表示的信号图,我如何绘制标记相应时间索引的线?具体来说,给定一个时间索引范围为0到2.6(秒)的信号图,我想绘制垂直红线,指示列表[0.22058956,0.33088437,2.20589566]的相应时间索引。我该怎么做? 最佳答案 添加覆盖整个绘图窗口的垂直线的标准方法是plt.axvlineimportmatplotlib.pyplotaspltplt.axvline(x=0.22058956)plt.axvline(x=0.33088437)plt.axvline(x=2.20589566)或xcoords=[0.
我有一个带有一堆随机x、y坐标的散点图。目前Y轴从0开始并上升到最大值。我希望Y轴从最大值开始并上升到0。points=[(10,5),(5,11),(24,13),(7,8)]x_arr=[]y_arr=[]forx,yinpoints:x_arr.append(x)y_arr.append(y)plt.scatter(x_arr,y_arr) 最佳答案 有一个新的API使这变得更加简单。plt.gca().invert_xaxis()和/或plt.gca().invert_yaxis()
我有一个带有一堆随机x、y坐标的散点图。目前Y轴从0开始并上升到最大值。我希望Y轴从最大值开始并上升到0。points=[(10,5),(5,11),(24,13),(7,8)]x_arr=[]y_arr=[]forx,yinpoints:x_arr.append(x)y_arr.append(y)plt.scatter(x_arr,y_arr) 最佳答案 有一个新的API使这变得更加简单。plt.gca().invert_xaxis()和/或plt.gca().invert_yaxis()
我有一系列20个图(不是子图)要在一个图中制作。我希望传说在盒子外面。同时,我不想更改轴,因为图形的大小会减小。我想将图例框保留在绘图区域之外(我希望图例在绘图区域的右侧之外)。有什么办法可以减小图例框内文字的字体大小,让图例框的尺寸变小? 最佳答案 有很多方法可以做你想做的事。添加到whatChristianAlis和Navialreadysaid,您可以使用bbox_to_anchor关键字参数将图例部分放置在轴之外和/或减小字体大小。在您考虑减小字体大小(这会使事情变得非常难以阅读)之前,请尝试将图例放置在不同的位置:所以,让
我有一系列20个图(不是子图)要在一个图中制作。我希望传说在盒子外面。同时,我不想更改轴,因为图形的大小会减小。我想将图例框保留在绘图区域之外(我希望图例在绘图区域的右侧之外)。有什么办法可以减小图例框内文字的字体大小,让图例框的尺寸变小? 最佳答案 有很多方法可以做你想做的事。添加到whatChristianAlis和Navialreadysaid,您可以使用bbox_to_anchor关键字参数将图例部分放置在轴之外和/或减小字体大小。在您考虑减小字体大小(这会使事情变得非常难以阅读)之前,请尝试将图例放置在不同的位置:所以,让