在matplotlib使用中文坐标轴,设置坐标轴,标题字体及字体大小

1.matplotlib的坐标轴中一般是不支持中文,在windows中要使用中文坐标轴的话,需要调用电脑中的字体。 实现代码:

from matplotlib import font_manager#导入字体管理模块
my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")
#定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里我设置的宋体
plt.xlabel("时间",fontproperties = my_font,fontsize = 18)
#在设置x坐标中文标注,令fontproperties = my_font,fontsize令字体为18号
#plt.title,plt.ylabel,plt.xticks,plt.yticks设置中文标注类似

完整代码实例如下:

from matplotlib import pyplot as plt#导入matplotlib
from matplotlib import font_manager#导入字体管理模块
import random#导入随机生成模块
my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")
#定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里我设置的宋体
y = [random.randint(20,35) for i in range(120)]#y值为120个在20-35之间随机数
x = range(0,120)#x值为0-120
plt.figure(figsize=(15,10),dpi=90)#图片大小为15*10,每英寸90个像素点
_x_labels = ["10点{}分".format(i) for i in range(60)]
_x_labels += ["11点{}分".format(i) for i in range(60)]#设置x坐标轴中文刻度
plt.xticks(list(x[::3]),_x_labels[::3],rotation=45,fontproperties=my_font,fontsize = 12)#坐标轴刻度显示步长为3,为了避免坐标轴字体重叠,旋转45度,fontproperties设置字体
plt.plot(x,y)
plt.xlabel("时间",fontproperties = my_font,fontsize = 18)#设置x坐标标注,字体为18号
plt.ylabel("每分钟对应的温度",fontproperties = my_font,fontsize = 18)#设置y坐标标注
plt.title("10点到12点每分钟温度变化图",fontproperties = my_font,fontsize = 24)#设置标题
plt.plot(x,y)#绘图
plt.show()#显示

图片结果如图所示:

2.绘制两条折线及添加图例,添加网格

from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
plt.figure(figsize=(10,8),dpi=80)
my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")
x = range(11,31)
y_1 = [random.randint(0,5) for i in range(20)]
y_2 = [random.randint(0,5) for i in range(20)]
_x_label = ["{}岁".format(i) for i in range(11,31)]
plt.xticks(list(x[::2]),_x_label[::2],rotation = 45,fontproperties = my_font,fontsize = 12)
plt.plot(x,y_1,label = "自己",color="red")
plt.plot(x,y_2,label= "朋友",linestyle="--",linewidth=2,alpha = 0.4)
plt.xlabel("年龄",fontproperties = my_font,fontsize = 18)
plt.ylabel("每年交的朋友",fontproperties = my_font,fontsize = 18)
plt.title("11岁到30岁每年交的朋友变化图",fontproperties = my_font,fontsize = 24)
plt.grid(alpha = 0.4)#添加网格,alpha = 0.4透明度
plt.legend(prop=my_font,loc='best')#添加图例
plt.show()

图片结果如图所示:

在这里插入图片描述

### 回答1: 可以使用以下代码设置matplotlib坐标轴字体大小: ```python import matplotlib.pyplot as plt # 设置坐标轴字体大小 plt.rcParams['font.size'] = 12 # 绘制图形 plt.plot([1, 2, 3], [4, 5, 6]) plt.xlabel('X', fontsize=14) plt.ylabel('Y', fontsize=14) plt.show() ``` 其中,`plt.rcParams['font.size']`可以设置全局的字体大小,也可以在`xlabel`和`ylabel`中单独设置字体大小。 ### 回答2: matplotlib 是一个非常强大的 Python 数据可视化库,它提供了许多不同的绘图功能和选项,以帮助你创建各种类型的图表和图形。在 matplotlib 中,可以通过使用 plt.xticks() 和 plt.yticks() 函数来设置坐标轴刻度的字体大小。下面我们来介绍详细的方法。 首先,我们需要导入 matplotlib 库并创建一个简单的图表示例: ``` import matplotlib.pyplot as plt # 创建一个简单的图表 x = [1, 2, 3, 4, 5] y = [10, 8, 6, 4, 2] plt.plot(x, y) ``` 接下来,我们需要调用 plt.xticks() 和 plt.yticks() 函数来设置坐标轴刻度的字体大小。这些函数都需要传入两个参数:一个是刻度位置的列表,另一个是刻度标签的列表。如果省略第二个参数,将默认使用位置作为标签。例如,在以下示例中,我们将设置 X 刻度的字体大小为 12: ``` # 设置 X 刻度的字体大小为 12 plt.xticks(x, fontsize=12) ``` 这将使 X 上的刻度标签更大。要设置 Y 刻度的字体大小,可以使用相同的方法: ``` # 设置 Y 刻度的字体大小为 12 plt.yticks(fontsize=12) ``` 这将使 Y 上的所有刻度标签更大。 此外,还可以使用 plt.xlabel() 和 plt.ylabel() 函数来设置坐标轴标签的字体大小。这些函数也需要传入一个字体大小参数,例如: ``` # 设置 X 标签的字体大小为 14 plt.xlabel("X Label", fontsize=14) # 设置 Y 标签的字体大小为 14 plt.ylabel("Y Label", fontsize=14) ``` 这将使 X 和 Y 的标签更大。 以上就是设置 matplotlib 坐标轴字体大小的方法。通过使用 plt.xticks()、plt.yticks()、plt.xlabel() 和 plt.ylabel() 函数,可以轻松地改变坐标轴刻度和标签的字体大小,以满足你的需求。 ### 回答3: 在matplotlib设置坐标轴字体大小可以通过修改rc参数、调用全局字体对象或者在特定的plot中单独设置进行实现。 1. 修改rc参数 通过修改rc参数中的字体大小来同时修改所有plot坐标轴字体大小。其中,需要设置的参数包括xtick.labelsize和ytick.labelsize,分别代表x和y的刻度标签字体大小。具体代码如下: ```python import matplotlib.pyplot as plt # 修改xtick.labelsize和ytick.labelsize参数,同时修改x和y的刻度标签字体大小 plt.rcParams['xtick.labelsize'] = 15 plt.rcParams['ytick.labelsize'] = 15 # 示例plot plt.plot([1,2,3],[4,5,6]) plt.show() ``` 2. 调用全局字体对象 通过在调用全局字体对象时设置字体大小来实现单独设置每个plot坐标轴字体大小。其中,需要设置的属性包括FontProperties对象中的size属性,代表字体大小。具体代码如下: ```python import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 调用FontProperties对象,设置size属性为15 font = FontProperties(size=15) # 示例plot,通过设置xlabel和ylabel方法的fontproperties属性, # 分别单独修改x和y刻度标签的字体大小 plt.plot([1,2,3],[4,5,6]) plt.xlabel('x', fontproperties=font) plt.ylabel('y', fontproperties=font) plt.show() ``` 3. 单独设置 通过在特定的plot中单独调用相应的坐标轴方法并设置字体大小属性来实现单独设置每个plot坐标轴字体大小。具体代码如下: ```python import matplotlib.pyplot as plt # 示例plot,通过调用x和y方法单独设置刻度标签字体大小 plt.plot([1,2,3],[4,5,6]) plt.xticks(fontsize=15) plt.yticks(fontsize=15) plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值