Python画图中文

Python画图中文

Python画图中文

在Python中,使用matplotlib库可以方便地绘制各种图表,但是默认情况下matplotlib并不支持中文显示。本文将介绍如何在Python中画图时实现中文显示。主要分为以下几个部分:

  1. 中文显示准备工作
  2. 使用matplotlib画图显示中文
  3. 使用seaborn画图显示中文
  4. 使用plotly画图显示中文

1. 中文显示准备工作

在Python中实现中文显示,需要以下几个步骤:

  • 安装中文字体库
  • 指定中文字体
  • 设置rcParams

首先,我们需要安装中文字体库,比如msyh.ttf,可以在Windows系统中的字体文件夹中找到。将该字体文件放在指定的目录下,这里以/usr/share/fonts/truetype/msyh.ttf为例。

然后,在Python代码中指定中文字体和设置rcParams,代码如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

2. 使用matplotlib画图显示中文

2.1 折线图

import matplotlib.pyplot as plt

# 设置中文字体和rcParams
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 6]

# 画折线图
plt.plot(x, y)
plt.title('折线图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()

2.2 散点图

import matplotlib.pyplot as plt

# 设置中文字体和rcParams
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 6]

# 画散点图
plt.scatter(x, y)
plt.title('散点图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()

3. 使用seaborn画图显示中文

seaborn是基于matplotlib的数据可视化库,可以更方便地绘制各种统计图表。

3.1 条形图

import seaborn as sns
import matplotlib.pyplot as plt

# 设置中文字体和rcParams
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建数据
x = ['A', 'B', 'C', 'D', 'E']
y = [20, 35, 30, 25, 40]

# 画条形图
sns.barplot(x=x, y=y)
plt.title('条形图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()

3.2 箱线图

import seaborn as sns
import matplotlib.pyplot as plt

# 设置中文字体和rcParams
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建数据
data = [np.random.randn(100) for _ in range(4)]

# 画箱线图
sns.boxplot(data=data)
plt.title('箱线图示例')
plt.show()

4. 使用plotly画图显示中文

plotly是一个交互式的数据可视化库,可以生成互动性图表。

4.1 饼图

import plotly.graph_objects as go

# 设置中文字体和rcParams
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建数据
labels = ['A', 'B', 'C', 'D']
values = [30, 40, 20, 10]

# 画饼图
fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
fig.update_layout(title='饼图示例')
fig.show()

通过以上介绍,你可以在Python中画图时很方便地显示中文,无论是使用matplotlib、seaborn还是plotly,都能轻松实现中文显示。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程