Python pyplot style

在matplotlib 中 提供了很多样式来美化绘图。
在plt.style.available中

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
print(plt.style.available)
plt.style.use('grayscale')

[out]:

['bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight',
 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind',
  'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid',
   'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper',
    'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn',
     'Solarize_Light2', 'tableau-colorblind10', '_classic_test']

我们使用
plt.style.use()使用其中的一个样式,

x = np.arange(0, 10, 0.1)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

在这里插入图片描述
下面,我们使用自带样式进行美化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
…略
我们也可以自定义。

<think>我们被要求使用Matplotlib设置图表风格。Matplotlib提供了多种内置样式,我们可以通过`plt.style.use()`函数来设置整个图表的风格。此外,我们也可以自定义样式,比如修改颜色、线型、字体等。 步骤: 1. 查看可用的内置样式列表:`print(plt.style.available)` 2. 使用内置样式:`plt.style.use('样式名称')` 3. 自定义样式:通过修改rc参数(`plt.rcParams`)或使用样式文件(.mplstyle) 下面我们分别介绍这些方法。 ### 1. 使用内置样式 Matplotlib内置了一些样式,例如'ggplot', 'seaborn', 'bmh', 'dark_background'等。我们可以直接使用这些样式。 示例代码: ```python import matplotlib.pyplot as plt # 查看所有可用样式 print(plt.style.available) # 使用'ggplot'样式 plt.style.use('ggplot') # 绘制示例图表 plt.plot([1,2,3,4], [1,4,9,16]) plt.title('ggplot风格') plt.xlabel('x轴') plt.ylabel('y轴') plt.show() ``` ### 2. 自定义样式 如果内置样式不满足需求,我们可以自定义样式。有两种方法: - 临时修改:使用`plt.rcParams`设置参数,只对当前会话有效。 - 永久修改:创建样式文件(.mplstyle),然后使用`plt.style.use('文件路径')`加载。 #### 临时修改示例: ```python import matplotlib.pyplot as plt # 设置字体为SimHei(黑体)以显示中文,并解决负号显示问题 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 # 设置线条颜色和宽度 plt.rcParams['lines.color'] = 'green' plt.rcParams['lines.linewidth'] = 2 # 绘制图表 plt.plot([1,2,3,4], [1,4,9,16]) plt.title('自定义样式') plt.xlabel('x轴') plt.ylabel('y轴') plt.show() ``` #### 使用样式文件: 我们可以创建一个样式文件,例如`my_style.mplstyle`,内容如下: ``` # 线条设置 lines.color: blue lines.linewidth: 3 # 字体设置 font.sans-serif: SimHei axes.unicode_minus: False ``` 然后在代码中加载: ```python plt.style.use('my_style.mplstyle') ``` ### 3. 组合多个样式 我们也可以组合多个样式,后面的样式会覆盖前面样式中冲突的设置。 ```python plt.style.use(['ggplot', 'dark_background']) # 先应用'ggplot',再应用'dark_background'覆盖部分设置 ``` 注意:样式的覆盖顺序是从左到右,即后面的样式会覆盖前面的。 ### 4. 重置样式 如果想重置为默认样式,可以使用: ```python plt.style.use('default') ``` ### 示例:使用不同样式绘制图表 下面我们使用两种不同的内置样式来绘制图表,并比较效果。 ```python import matplotlib.pyplot as plt import numpy as np # 数据 x = np.linspace(0, 10, 100) y = np.sin(x) # 使用'seaborn'样式 plt.style.use('seaborn') plt.figure(figsize=(12, 4)) plt.subplot(121) plt.plot(x, y) plt.title('seaborn风格') # 使用'dark_background'样式 plt.style.use('dark_background') plt.subplot(122) plt.plot(x, y, 'y-') plt.title('dark_background风格') plt.tight_layout() plt.show() ``` 通过以上方法,我们可以方便地设置和更改Matplotlib图表的样式,使图表更加美观和符合需求。 §§相关问题§§ 1. Matplotlib内置了哪些样式?如何查看? 2. 如何自定义Matplotlib的样式? 3. 如何解决Matplotlib中中文显示乱码的问题? 4. 如何同时使用多个样式? 5. 如何将自定义样式保存为文件并在其他项目中复用?</think>### Python Matplotlib 设置图表风格指南 Matplotlib 提供了多种方式设置图表风格,包括**内置样式库**、**自定义rc参数**和**样式组合**三种主要方法。以下是具体操作步骤: #### 一、使用内置样式库 Matplotlib 预置了多种专业图表风格,通过一行代码即可切换: ```python import matplotlib.pyplot as plt # 查看所有可用样式 print(plt.style.available) # 输出: ['seaborn', 'ggplot', 'dark_background', ...] # 应用内置样式 (示例使用'ggplot'风格) plt.style.use('ggplot') # 应用R语言著名绘图包ggplot2的风格 # 绘制图表 plt.plot([1,2,3,4], [1,4,9,16]) plt.title('ggplot风格示例') plt.xlabel('X轴') plt.ylabel('Y轴') plt.show() ``` 常用内置样式: - `'seaborn'`:统计图表常用风格(需安装seaborn库) - `'bmh'`:Bayesian Methods for Hackers风格 - `'dark_background'`:深色背景风格 - `'grayscale'`:灰度风格 #### 二、自定义rc参数 通过修改`rcParams`字典深度定制样式: ```python # 设置全局样式参数 plt.rcParams.update({ 'font.family': 'SimHei', # 使用黑体显示中文 'axes.facecolor': '#F0F8FF', # 图表区域背景色 'grid.color': 'gray', # 网格线颜色 'grid.linestyle': '--', # 网格线样式 'axes.grid': True, # 显示网格 'axes.edgecolor': 'navy', # 坐标轴颜色 'xtick.color': 'darkred', # X轴刻度颜色 'ytick.color': 'darkred' # Y轴刻度颜色 }) # 绘制柱状图 plt.bar(['A','B','C'], [15, 23, 30], color=['#FF6B6B','#4ECDC4','#FFE66D']) plt.title('自定义样式柱状图') plt.show() ``` #### 三、样式组合与局部覆盖 ```python # 组合多个样式 (后者覆盖前者冲突设置) plt.style.use(['seaborn-darkgrid', 'fast']) # 深色网格+简化元素 # 局部覆盖设置 with plt.style.context('dark_background'): plt.plot([10,20,15,25], linewidth=3, marker='o') plt.title('局部深色背景样式', fontsize=14, color='cyan') plt.show() ``` #### 四、创建自定义样式文件 1. 创建`.mplstyle`文件(如`my_style.mplstyle`): ```ini # 自定义样式文件 axes.facecolor: #F5F5F5 grid.color: white lines.linewidth: 2 font.size: 12 xtick.bottom: True ytick.left: True ``` 2. 代码中调用: ```python plt.style.use('path/to/my_style.mplstyle') ``` #### 效果对比示例 | 默认样式 | ggplot样式 | 深色背景 | |----------|------------|----------| | ![默认样式](https://via.placeholder.com/150x100/FFFFFF/000000?text=Default) | ![ggplot](https://via.placeholder.com/150x100/FF6B6B/FFFFFF?text=ggplot) | ![深色背景](https://via.placeholder.com/150x100/000000/FFFFFF?text=Dark+BG) | > **注意事项**: > 1. 中文显示需设置`plt.rcParams['font.family'] = 'SimHei'` > 2. 负号显示问题:`plt.rcParams['axes.unicode_minus'] = False` > 3. 样式作用域:`plt.style.use()`影响后续所有图表 通过灵活组合这些方法,您可以快速创建符合出版标准或企业VI规范的图表样式[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值