600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python画图 使用matplotlib和seaborn来设置图形的字体大小 坐标轴的线宽 风格 取值范围

python画图 使用matplotlib和seaborn来设置图形的字体大小 坐标轴的线宽 风格 取值范围

时间:2019-08-01 04:33:24

相关推荐

python画图 使用matplotlib和seaborn来设置图形的字体大小 坐标轴的线宽 风格 取值范围

1. matplotlib 样式的设计

1.1 设置坐标轴的线框

如果我们要设置坐标轴的线宽,我们可以向下面这样做:

import matplotlib.pyplot as plt###设置坐标轴的粗细ax=plt.gca();#获得坐标轴的句柄ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细ax.spines['top'].set_linewidth(2)

1.2 设置所画图形的样式,线宽

h=plt.plot(x,y,color='#ff0000',markersize=10.0,marker='o',linestyle='',linewidth=3);

在我们的画图函数里直接设置即可

1.3 字体大小的设置

如果我们想设置我们所画的图片,全局字体的大小,就是设置统一的大小,我们可以这么做:

全局字体的大小设置

matplotlib.rcParams.update({'font.size': 12})

设置坐标刻度字体的大小

plt.xticks(fontsize=13)plt.yticks(fontsize=13)

# 设置坐标标签字体大小ax.set_xlabel(..., fontsize=20)ax.set_ylabel(..., fontsize=20)

另外一种方法设置坐标轴的标题的方法

plt.xlabel('x titile',fontsize=13) #添加x轴的名称plt.ylabel('y title',fontsize=13)

我写论文的时候,刻度的大小和标题的字体大小都会设置为13

1.4 添加画布内容

画布的内容一般包括图表的标题,图表的坐标轴的注释,坐标轴的刻度的 问题

图表的示例解释, 具体的操作如下所示。

plt.title('标题') #添加标题plt.xlabel('x') #添加x轴的名称plt.ylabel('y') #添加y轴的名称plt.xlim((0,1)) #x轴刻度范围plt.ylim((0,1)) #y轴刻度范围plt.xticks([0,1,2,3,4]) #x轴的刻度值plt.yticks([0,1,2,3,4]) #y轴的刻度值plt.legend(['a','b']) #添加图例#设置线条宽度,取0-10之间的数值,默认1.5plt.rcParams['lines.linewidth']=3 #设置线条样式,可取'-','--','-.',':'4种,默认'-'plt.rcParams['lines.linestyle']='-.'#设置线条上点的形状,可取'o','D','h','.','S'等20种,默认为Noneplt.rcParams['lines.marker']='D'#设置点的大小,取0-10之间的数值,默认为1 plt.rcParams['lines.markersize']=3

1.5 设置坐标轴的取值范围

# 设置x轴的最大值和最小值plt.xlim(-200, 200)# 设置y轴的取值范围plt.ylim(-200, 200)

1.6 设置坐标轴的网格

产生网格的函数是下面所示

matplotlin.pyplot.grid(b, which, axis, color, linestyle, linewidth, **kwargs)

which : 取值为’major’, ‘minor’, ‘both’。 默认为’major’。看别人说是显示的,我的是Windows7下,用Sublime跑的,minor 只是一个白画板,没有网格,major和both也没看出什么效果,不知道为什么。

axis : 取值为‘both’, ‘x’,‘y’。就是想绘制哪个方向的网格线。不过我在输入参数的时候发现如果输入x或y的时候, 输入的是哪条轴,则会隐藏哪条轴color : 这就不用多说了,就是设置网格线的颜色。或者直接用c来代替color也可以。linestyle :也可以用ls来代替linestyle, 设置网格线的风格,是连续实线,虚线或者其它不同的线条。 | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']linewidth : 设置网格线的宽度

最简单的设置网格的方式如下所示:

import numpy as npimport matplotlib.pyplot as pltplt.gcf().set_facecolor(np.ones(3)* 240 / 255) # 生成画布的大小plt.grid() # 生成网格plt.show()

另外一些其他的设置

设置axis=‘y’

plt.grid(axis="y")plt.show()

设置axis=‘x’

plt.grid(axis="y")plt.show()

设置网格的颜色

plt.grid(c='r') # 设置为红色plt.show()

设置网格的形状

plt.grid(linestyle='-.')plt.show()

2. seaborn 样式设计

如果我们想要定制seaborn 的样式,我们可以将参数字典传递给axes_style和set_style()的rc参数。注意,只能通过该方法覆盖样式定义的一部分参数。

如果您想要查看包含哪些参数,您可以只调用该函数而不带参数,这将返回当前设置的字典:

sns.axes_style(){'axes.axisbelow': True,'axes.edgecolor': 'white','axes.facecolor': '#EAEAF2','axes.grid': True,'axes.labelcolor': '.15','axes.linewidth': 0.0,'figure.facecolor': 'white','font.family': ['sans-serif'],'font.sans-serif': ['Arial','Liberation Sans','Bitstream Vera Sans','sans-serif'],'grid.color': 'white','grid.linestyle': '-','image.cmap': 'Greys','legend.frameon': False,'legend.numpoints': 1,'legend.scatterpoints': 1,'lines.solid_capstyle': 'round','text.color': '.15','xtick.color': '.15','xtick.direction': 'out','xtick.major.size': 0.0,'xtick.minor.size': 0.0,'ytick.color': '.15','ytick.direction': 'out','ytick.major.size': 0.0,'ytick.minor.size': 0.0}

例如,你可以向下面这样做:

sns.set_style("darkgrid", {"axes.facecolor": ".9"})sinplot()

这个时候会出现一个灰色的版面

如下图所示:

如果我们想要白色的背景,我们就可以像下面这样处理

import seaborn as snssns.set(style="white")

得到的就是下面这个样子的图片

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程 /chichoxian

Reference

/p/27435863/question/59860990/answer/955884475

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程 /chichoxian

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。