python折线图坐标网格 which='major
时间: 2024-01-16 18:05:21 浏览: 67
如果您想在Python中使用Matplotlib库绘制折线图,并且想要添加坐标网格,可以使用以下代码:
```python
import matplotlib.pyplot as plt
#创建一个画布
fig, ax = plt.subplots()
#绘制折线图
x = [1, 2, 3, 4, 5]
y = [3, 6, 2, 7, 4]
ax.plot(x, y)
#添加坐标网格
ax.grid(which='major', linestyle='-', linewidth='0.5', color='gray')
#显示图形
plt.show()
```
在上述代码中,`ax.grid()`函数用于添加坐标网格。其中,`which='major'`表示只添加主坐标轴的网格;`linestyle='-'`表示网格线的样式为实线;`linewidth='0.5'`表示网格线的宽度为0.5个点;`color='gray'`表示网格线的颜色为灰色。您可以根据需要修改这些参数来自定义坐标网格的样式。
相关问题
import numpy as np import matplotlib.pyplot as plt from matplotlib.ticker import MaxNLocator # 创建画布和子图对象 fig, ax = plt.subplots(figsize=(9, 6), dpi=100) # 绘制折线图 ax.plot(x, y) # 绘制平均值线 #ax.axhline(y=-650, color='r', linestyle='--',label='流域整体物质平衡=-650mm w.e.') # 添加阴影带 start_year = 2006 end_year = 2016 mask = np.logical_and(years >= start_year, years <= end_year) years_to_plot = years[mask] ax.fill_between(years_to_plot, -680- 220, -680 + 220, alpha=0.2,color='yellow',label='Brun et al.2017') ax.axhline(-680, color='yellow', linestyle='--',xmin=0.65, xmax=0.89) start_year_2 = 2000 end_year_2 = 2014 mask_2 = np.logical_and(years >= start_year_2, years <= end_year_2) years_to_plot_2 = years[mask_2] ax.fill_between(years_to_plot_2, -790-110, -790+110, alpha=0.2, color='green',label='Wu et al.2018') ax.axhline(-790, color='green', linestyle='--',xmin=0.51, xmax=0.840) start_year_3 = 2000 end_year_3 = 2018 mask_3 = np.logical_and(years >= start_year_3, years <= end_year_3) years_to_plot_3 = years[mask_3] ax.fill_between(years_to_plot_3, -540-160, -540+160, alpha=0.2, color='blue',label='Shean et al.2020') ax.axhline(-540, color='blue', linestyle='--',xmin=0.51, xmax=0.93) start_year_4 = 2000 end_year_4 = 2019 mask_4 = np.logical_and(years >= start_year_4, years <= end_year_4) years_to_plot_4 = years[mask_4] ax.fill_between(years_to_plot_4, -580-220, -580+220, alpha=0.2, color='red',label='Hugonnet et al.2021') ax.axhline(-580, color='red', linestyle='--',xmin=0.51, xmax=0.957) # 设置 x 轴标签和标题 ax.set_xlabel('年份',fontproperties=font_prop,fontsize=14) ax.set_ylabel('物质平衡(mm w.e.)',fontproperties=font_prop,fontsize=14) ax.set_title('图8 帕隆藏布流域1980-2019物质平衡',fontproperties=font_prop,fontsize=14,y=-0.17) # 强制显示整数刻度 ax.xaxis.set_major_locator(MaxNLocator(integer=True)) # 添加网格 ax.grid(True, which='major', linestyle='--') # 将坐标轴的刻度字体大小设置为12 ax.tick_params(axis='both', which='major', labelsize=12) # 添加图例 ax.legend(fontsize=24,loc='lower left',prop=font_prop) # 设置图形的边距 plt.tight_layout() # 显示图形 plt.show()
该代码是用Python中的matplotlib库绘制折线图,并添加了四个阴影带,代表不同研究者的数据范围。其中,ax.plot(x, y)用于绘制折线图,ax.fill_between(years_to_plot, -680- 220, -680 + 220, alpha=0.2,color='yellow',label='Brun et al.2017')用于添加阴影带,ax.axhline(-680, color='yellow', linestyle='--',xmin=0.65, xmax=0.89)用于绘制平均值线。其他部分则是对图形进行美化,如添加图例、设置坐标轴标签和标题等。最后使用plt.show()将图形显示出来。
Python画三组数据的折线图如何设置颜色字体和刻度线距离
在Python中,使用matplotlib库可以方便地绘制折线图,并对图表中的颜色、字体和刻度线距离进行设置。以下是一个简单的例子,介绍如何画三组数据的折线图并进行相关设置:
1. 首先,确保安装了matplotlib库,如果没有安装,可以使用pip安装:
```python
pip install matplotlib
```
2. 使用matplotlib绘制折线图,并设置颜色、字体和刻度线距离的代码如下:
```python
import matplotlib.pyplot as plt
# 准备数据
x = [1, 2, 3, 4, 5]
y1 = [1, 2, 3, 4, 5]
y2 = [5, 4, 3, 2, 1]
y3 = [2, 3, 4, 5, 6]
# 创建折线图
plt.plot(x, y1, label='数据1', color='red', marker='o') # 设置线条颜色为红色,并标记点为圆圈
plt.plot(x, y2, label='数据2', color='blue', linestyle='--') # 设置线条颜色为蓝色,使用虚线
plt.plot(x, y3, label='数据3', color='green') # 设置线条颜色为绿色
# 设置图表标题和坐标轴标签
plt.title('三组数据的折线图')
plt.xlabel('X轴标签')
plt.ylabel('Y轴标签')
# 设置刻度标记字体
plt.xticks(x, ['X1', 'X2', 'X3', 'X4', 'X5']) # 设置X轴刻度标记的标签
plt.yticks([1, 2, 3, 4, 5, 6], ['Y1', 'Y2', 'Y3', 'Y4', 'Y5', 'Y6']) # 设置Y轴刻度标记的标签
# 设置刻度线距离
plt.minorticks_on() # 开启次要刻度线
plt.tick_params(axis='both', which='major', length=10) # 设置主刻度线的长度为10
plt.tick_params(axis='both', which='minor', length=5) # 设置次刻度线的长度为5
# 显示图例
plt.legend()
# 显示网格
plt.grid(True, linestyle='--', linewidth=0.5)
# 显示图表
plt.show()
```
在这段代码中,通过`plt.plot`函数的不同参数,我们设置了三条数据线的颜色、标记样式和标签。`plt.xticks`和`plt.yticks`用于设置X轴和Y轴的刻度标记的标签。通过`plt.tick_params`函数可以设置主次刻度线的长度。
阅读全文