ax.axhline中的参数及其用法
时间: 2024-04-06 08:29:13 浏览: 227
`axhline`是`matplotlib`库中的一个函数,可以在绘图中添加水平直线。它的基本用法如下:
```python
ax.axhline(y=0, xmin=0, xmax=1, color='k', linestyle='-', linewidth=1)
```
其中,参数的含义如下:
- `y`:指定水平直线的y坐标值。
- `xmin`:指定水平直线的起点x坐标值。默认为0。
- `xmax`:指定水平直线的终点x坐标值。默认为1。
- `color`:指定水平直线的颜色。默认为黑色。可以传递任何`matplotlib`支持的颜色格式,如字符串、RGB元组等。
- `linestyle`:指定水平直线的线型。默认为实线。可以传递任何`matplotlib`支持的线型格式,如实线、虚线等。
- `linewidth`:指定水平直线的线宽。默认为1。
例如,以下代码在坐标系中添加了一条y=0的水平直线:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
ax.axhline(y=0, color='r', linestyle='--', linewidth=2)
plt.show()
```
输出的图形如下:
![axhline示例图](https://img-blog.csdnimg.cn/20211008153806606.png)
相关问题
ax.axhline = (y=0, color="red",linestyle="--")
感谢指出,您提供的代码中 `ax.axhline` 的语法是不正确的。正确的语法应该是:
```python
ax.axhline(y=0, color='red', linestyle='--')
```
其中,`y` 表示水平线的 y 坐标,`color` 表示水平线的颜色,`linestyle` 表示水平线的样式(虚线、点线等)。
以上代码将在图表 `ax` 上添加一条 y 坐标为 0,颜色为红色,样式为虚线的水平线。
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()将图形显示出来。
阅读全文